Fixed TTS using StreamElements. Fixed several issues.

This commit is contained in:
Tom
2026-01-03 05:19:33 +00:00
parent fb04f4003f
commit aa89578297
16 changed files with 275 additions and 135 deletions

View File

@@ -110,37 +110,29 @@ namespace TwitchChatTTS.Twitch.Redemptions
private void Add(string twitchRedemptionId, string redemptionId)
{
_rwls.EnterWriteLock();
try
if (!_redeems.TryGetValue(twitchRedemptionId, out var redeems))
_redeems.Add(twitchRedemptionId, redeems = new List<string>());
var item = _redemptions.TryGetValue(redemptionId, out var r) ? r : null;
if (item == null)
return;
var redemptions = redeems.Select(r => _redemptions.TryGetValue(r, out var rr) ? rr : null);
bool added = false;
for (int i = 0; i < redeems.Count; i++)
{
if (!_redeems.TryGetValue(twitchRedemptionId, out var redeems))
_redeems.Add(twitchRedemptionId, redeems = new List<string>());
var item = _redemptions.TryGetValue(redemptionId, out var r) ? r : null;
if (item == null)
return;
var redemptions = redeems.Select(r => _redemptions.TryGetValue(r, out var rr) ? rr : null);
bool added = false;
for (int i = 0; i < redeems.Count; i++)
if (redeems[i] != null && _redemptions.TryGetValue(redeems[i], out var rr))
{
if (redeems[i] != null && _redemptions.TryGetValue(redeems[i], out var rr))
if (item.Order > rr.Order)
{
if (item.Order > rr.Order)
{
redeems.Insert(i, redemptionId);
added = true;
break;
}
redeems.Insert(i, redemptionId);
added = true;
break;
}
}
if (!added)
redeems.Add(redemptionId);
}
finally
{
_rwls.ExitWriteLock();
}
if (!added)
redeems.Add(redemptionId);
_logger.Debug($"Added redemption action [redemption id: {redemptionId}][twitch redemption id: {twitchRedemptionId}]");
}