Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }