internal async Task TryAddBitRequestToEffectQueueAsync(OnBitsReceivedArgs e) { if (e.BitsUsed < settings.minimumBitAmount) { string msgUnderMinimumBitAmount = settings.msgUnderMinimumBitAmount.Replace("{username}", e.Username); twitchClient.SendMessage(settings.botJoinChannel, msgUnderMinimumBitAmount); Log.Information("Bit donation to small"); } string effect = await GetEffectFromMessageAsync(e.ChatMessage); if (effect == null) { string msgEffectNotFound = settings.msgEffectNotFound.Replace("{username}", e.Username); twitchClient.SendMessage(settings.botJoinChannel, msgEffectNotFound); Log.Information("Effect not found"); return; } BitEffect be = new BitEffect(effect, e.Username, e.BitsUsed); queue.EnqueueBitEffect(be); if (queue.Count > 1) { Log.Information($"EFFECT ADDED TO QUEUE: {e.Username}, {e.BitsUsed} bits, {effect}," + $" {be.Milliseconds / 1000} seconds, position {queue.Count}"); string msgBitQueue = settings.msgAddedToQueue.Replace("{username}", e.Username).Replace("{position}", queue.Count + ""); twitchClient.SendMessage(settings.botJoinChannel, msgBitQueue); } }
public void AddSubEffectsBeforeBitEffects() { BitEffect bitEffect = new BitEffect("fish", "test", 100); effectQueue.EnqueueBitEffect(bitEffect); SubEffect subEffect = new SubEffect(1, SubscriptionPlan.Tier1, "test"); effectQueue.EnqueueSubEffect(subEffect); BitEffect bitEffect2 = new BitEffect("fish", "test2", 100); effectQueue.EnqueueBitEffect(bitEffect2); Assert.Equal(effectQueue.First.Value, subEffect); }