Пример #1
0
        private static void Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            int    monthCount = e.ReSubscriber.Months;
            string monthWord  = monthCount > 1 ? "months" : "month";

            BotTools.LogLine($"{e.ReSubscriber.DisplayName} subscribed ({monthCount} {monthWord})");
        }
Пример #2
0
        private void OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            switch (e.ReSubscriber.SubscriptionPlan)
            {
            case SubscriptionPlan.Prime:
                form.WriteChat(e.ReSubscriber.DisplayName + " just resubscribed with Twitch Prime for " + e.ReSubscriber.Months + " months!!! itslitHype itslitHype itslitHype", true);
                form.AddEvent("Twitch Prime resub " + e.ReSubscriber.DisplayName + "(" + e.ReSubscriber.Months + ")");

                break;

            case SubscriptionPlan.Tier1:
                form.WriteChat(e.ReSubscriber.DisplayName + " just resubscribed for " + e.ReSubscriber.Months + " months!!! itslitHype itslitHype itslitHype", true);
                form.AddEvent("Tier 1 resub " + e.ReSubscriber.DisplayName + "(" + e.ReSubscriber.Months + ")");

                break;

            case SubscriptionPlan.Tier2:
                form.WriteChat(e.ReSubscriber.DisplayName + " just resubscribed at Tier 2 for " + e.ReSubscriber.Months + " months!!! itslitHype itslitHype itslitHype", true);
                form.AddEvent("Tier 2 resub " + e.ReSubscriber.DisplayName + "(" + e.ReSubscriber.Months + ")");

                break;

            case SubscriptionPlan.Tier3:
                form.WriteChat(e.ReSubscriber.DisplayName + " just resubscribed at Tier 3 for " + e.ReSubscriber.Months + " months!!! itslitHype itslitHype itslitHype", true);
                form.AddEvent("Tier 3 resub " + e.ReSubscriber.DisplayName + "(" + e.ReSubscriber.Months + ")");

                break;
            }
        }
Пример #3
0
        private static void onReSubscription(object sender, OnReSubscriberArgs e)
        {
            int resubpoints = e.ReSubscriber.Months * subscriptionbonus;

            client.SendMessage(client.JoinedChannels[0], $"{e.ReSubscriber.Login} has resubscribed for {e.ReSubscriber.Months} months. You have received {resubpoints} points for re-subscribing. Included message: {e.ReSubscriber.ResubMessage}");
            DatabaseHandler.ExecuteNonQuery($"INSERT IGNORE INTO users (username,points) values ('{e.ReSubscriber.Login}', {resubpoints}); UPDATE users SET points = points + {resubpoints} WHERE username='******'");
        }
        private void HandleCurrency(OnReSubscriberArgs args)
        {
            var currencyToAward = 0;

            switch (args.ReSubscriber.SubscriptionPlan)
            {
            case TwitchLib.Client.Enums.SubscriptionPlan.Prime:
                currencyToAward = Config.Currency.AwardForSub_Prime;
                break;

            case TwitchLib.Client.Enums.SubscriptionPlan.Tier1:
                currencyToAward = Config.Currency.AwardForSub_Tier1;
                break;

            case TwitchLib.Client.Enums.SubscriptionPlan.Tier2:
                currencyToAward = Config.Currency.AwardForSub_Tier2;
                break;

            case TwitchLib.Client.Enums.SubscriptionPlan.Tier3:
                currencyToAward = Config.Currency.AwardForSub_Tier3;
                break;
            }

            CurrencyRepository.AddForUser(args.ReSubscriber.Login, currencyToAward, "The Bot");
        }
 private void ReSubscriber(OnReSubscriberArgs args)
 {
     if (Config.Currency.Enabled)
     {
         HandleCurrency(args);
     }
 }
        public static void CheckForReSubscriberEvents(object sender, OnReSubscriberArgs e)
        {
            ReSubscriber g = e.ReSubscriber;

            Log.Message($"Resubscriber = CumulativeMonths - {g.MsgParamCumulativeMonths} - ShareStreak: {g.MsgParamShouldShareStreak} - StreakMonths: {g.MsgParamStreakMonths} - ResubMessage: {g.ResubMessage} - SubPlan: {g.SubscriptionPlan} - PlanName: {g.SubscriptionPlanName}");

            List <Event> eventsWithResubscriberTriggers = new List <Event>();

            foreach (Event evt in eventsWithResubscriberTriggers)
            {
                bool fire = false;

                if (e.ReSubscriber.SubscriptionPlan.ToString() == "Tier1" && evt.tierOneSubs)
                {
                    fire = true;
                }
                else if (e.ReSubscriber.SubscriptionPlan.ToString() == "Tier2" && evt.tierTwoSubs)
                {
                    fire = true;
                }
                else if (e.ReSubscriber.SubscriptionPlan.ToString() == "Tier3" && evt.tierThreeSubs)
                {
                    fire = true;
                }

                if (fire)
                {
                    evt.FireEvents(e.ReSubscriber.DisplayName);
                }
            }
        }
Пример #7
0
        public static void ReSubbed(object sender, OnReSubscriberArgs e)
        {
            Shared.Data.UserData.CreateUser(e.ReSubscriber.UserId, Shared.IDType.Twitch);
            int Reward = int.Parse(Shared.ConfigHandler.Config["Rewards"]["Twitch"]["ReSubbed"].ToString());

            Shared.Data.Accounts.GiveUser(e.ReSubscriber.UserId, Shared.IDType.Twitch, Reward);
            MessageHandler.SendMessage(e.Channel, Shared.ConfigHandler.Config["EventMessages"]["ReSubbed"].ToString(), e.ReSubscriber.DisplayName, null, Reward);
        }
Пример #8
0
        private void _Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            if (!EnableSubPixels)
            {
                return;
            }

            _GoogleSheet.AddPixelsForUser(e.ReSubscriber.DisplayName, _PixelRewards[e.ReSubscriber.SubscriptionPlan], "PixelBot-Resub");
        }
Пример #9
0
        private void OnReSub(object sender, OnReSubscriberArgs e)
        {
            this.messageBus.Send(nameof(TwitchSubscription),
                                 new TwitchSubscription(
                                     e.ReSubscriber.UserId,
                                     e.ReSubscriber.Login,
                                     e.ReSubscriber.DisplayName, e.ReSubscriber.Months, false));

            this.Broadcast($"Thank you {e.ReSubscriber.DisplayName} for the resub!!! <3");
        }
Пример #10
0
        private void OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            EvtOnReSubscriptionArgs reSubArgs = new EvtOnReSubscriptionArgs
            {
                ReSubscriptionData = new EvtReSubscriptionData(e.ReSubscriber.UserId, e.ReSubscriber.DisplayName,
                                                               e.ReSubscriber.DisplayName, e.ReSubscriber.Months)
            };

            UserReSubscribedEvent?.Invoke(reSubArgs);
        }
        public void Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            var info = new SubscriptionInfo
            {
                UserDisplayName = e.ReSubscriber.DisplayName,
                PlanName        = e.ReSubscriber.SubscriptionPlanName,
                Message         = e.ReSubscriber.ResubMessage,
                Months          = e.ReSubscriber.Months,
            };

            OnSub(info);
        }
Пример #12
0
 private static void OnReSubscriber(object sender, OnReSubscriberArgs e)
 {
     if (!Context.IsWorldReady)
     {
         return;
     }
     Spawner.SpawnTwitchJunimo(e.ReSubscriber.DisplayName);
     if (Config.ShowDebug() && BNC_Core.config.Spawn_Subscriber_Junimo)
     {
         BNC_Core.Logger.Log($"Adding Junimo to queue from resub: {e.ReSubscriber.DisplayName}", LogLevel.Info);
     }
 }
Пример #13
0
        private void onResubsriber(object sender, OnReSubscriberArgs e)
        {
            try {
                Logger.Log("Resubscriber in " + e.Channel);

                User user = UserManager.GetUserTwitch(e.Channel);
                BitbarManager.AddBits(user, subPlanToBits(e.ReSubscriber.SubscriptionPlan));
            }
            catch (Exception ex) {
                Logger.Log(ex);
            }
        }
Пример #14
0
        private void OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            User user = BotProgram.GetOrAddUser(e.ReSubscriber.DisplayName, false);

            EvtOnReSubscriptionArgs reSubArgs = new EvtOnReSubscriptionArgs
            {
                ReSubscriptionData = new EvtReSubscriptionData(e.ReSubscriber.UserId, e.ReSubscriber.DisplayName,
                                                               e.ReSubscriber.DisplayName, e.ReSubscriber.Months)
            };

            UserReSubscribedEvent?.Invoke(user, reSubArgs);
        }
Пример #15
0
        public void Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            var message = $"Thanks {e.ReSubscriber.DisplayName} for the re-sub!";

            if (e.ReSubscriber.SubscriptionPlan == SubscriptionPlan.Prime)
            {
                message += " So kind of you to use your Twitch Prime on my channel!";
            }

            sayingResponse.SaySomethingNice(message).Wait();

            this.client.SendMessage(e.Channel, message);
        }
Пример #16
0
        /// <summary>
        /// Invokes the re subscriber.
        /// </summary>
        /// <param name="client">The client.</param>
        /// <param name="badges">The badges.</param>
        /// <param name="colorHex">The color hexadecimal.</param>
        /// <param name="color">The color.</param>
        /// <param name="displayName">The display name.</param>
        /// <param name="emoteSet">The emote set.</param>
        /// <param name="id">The identifier.</param>
        /// <param name="login">The login.</param>
        /// <param name="systemMessage">The system message.</param>
        /// <param name="systemMessageParsed">The system message parsed.</param>
        /// <param name="resubMessage">The resub message.</param>
        /// <param name="subscriptionPlan">The subscription plan.</param>
        /// <param name="subscriptionPlanName">Name of the subscription plan.</param>
        /// <param name="roomId">The room identifier.</param>
        /// <param name="userId">The user identifier.</param>
        /// <param name="isModerator">if set to <c>true</c> [is moderator].</param>
        /// <param name="isTurbo">if set to <c>true</c> [is turbo].</param>
        /// <param name="isSubscriber">if set to <c>true</c> [is subscriber].</param>
        /// <param name="isPartner">if set to <c>true</c> [is partner].</param>
        /// <param name="tmiSentTs">The tmi sent ts.</param>
        /// <param name="userType">Type of the user.</param>
        /// <param name="rawIrc">The raw irc.</param>
        /// <param name="channel">The channel.</param>
        public static void InvokeReSubscriber(this TwitchClient client, List <KeyValuePair <string, string> > badges, List <KeyValuePair <string, string> > badgeInfo, string colorHex, Color color, string displayName,
                                              string emoteSet, string id, string login, string systemMessage, string msgId, string msgParamCumulativeMonths, string msgParamStreakMonths, bool msgParamShouldShareStreak, string systemMessageParsed, string resubMessage, SubscriptionPlan subscriptionPlan,
                                              string subscriptionPlanName, string roomId, string userId, bool isModerator, bool isTurbo, bool isSubscriber, bool isPartner, string tmiSentTs,
                                              UserType userType, string rawIrc, string channel)
        {
            OnReSubscriberArgs model = new OnReSubscriberArgs()
            {
                ReSubscriber = new ReSubscriber(badges, badgeInfo, colorHex, color, displayName, emoteSet, id, login, systemMessage, msgId, msgParamCumulativeMonths, msgParamStreakMonths, msgParamShouldShareStreak, systemMessageParsed, resubMessage,
                                                subscriptionPlan, subscriptionPlanName, roomId, userId, isModerator, isTurbo, isSubscriber, isPartner, tmiSentTs, userType, rawIrc, channel)
            };

            client.RaiseEvent("OnReSubscriber", model);
        }
Пример #17
0
 private void onReSub(object sender, OnReSubscriberArgs e)
 {
     try
     {
         Console.Out.WriteLine("ReSub!!! WOOOOO");
         Console.Out.WriteLine(e.ReSubscriber.DisplayName);
         vipHelper.GiveSubVip(e.ReSubscriber.DisplayName);
     }
     catch (Exception ex)
     {
         Console.Out.WriteLine(ex.ToString());
     }
 }
Пример #18
0
        private void onReSubscriber(object sender, OnReSubscriberArgs e)
        {
            if (e.ReSubscriber.SubscriptionPlan == SubscriptionPlan.Prime)
            {
                //client.SendMessage(e.Channel, $"Welcome {e.Subscriber.DisplayName} to the substers! You just earned 500 points! So kind of you to use your Twitch Prime on this channel!");
            }
            else
            {
                //client.SendMessage(e.Channel, $"Welcome {e.Subscriber.DisplayName} to the substers! You just earned 500 points!");
            }

            //e.ReSubscriber
            SubHype();
        }
Пример #19
0
 private void Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
 {
     try
     {
         var user = dataHelper.GetUserFromReSub(e);
         db.EditExpViaReSub(user);
         logService.Add($"RESUB {e.ReSubscriber.DisplayName}", MessageType.Type.RESUB,
                        MethodBase.GetCurrentMethod().DeclaringType);
         //  client.SendMessage(Startup.streamerName, "olyashFonarik olyashFonarik olyashFonarik olyashFonarik");
     }
     catch (Exception ex)
     {
         logService.Add(ex, MessageType.Type.ERROR,
                        MethodBase.GetCurrentMethod().DeclaringType);
     }
 }
Пример #20
0
        private void Client_OnReSubscriber(object sender, OnReSubscriberArgs resubscriberEventArguments)
        {
            ChannelUser user         = new ChannelUser(resubscriberEventArguments.ReSubscriber.UserId, resubscriberEventArguments.ReSubscriber.DisplayName, resubscriberEventArguments.ReSubscriber.DisplayName);
            ChannelUser resolvedUser = usernameResolver.ResolveUsername(user);

            string months = !string.IsNullOrWhiteSpace(resubscriberEventArguments.ReSubscriber.MsgParamStreakMonths) ? resubscriberEventArguments.ReSubscriber.MsgParamStreakMonths : resubscriberEventArguments.ReSubscriber.MsgParamCumulativeMonths;

            if (!int.TryParse(months, out int numberOfMonthsSubscribed))
            {
                numberOfMonthsSubscribed = 1;
            }

            ResubscriberEvent resubscriber = new ResubscriberEvent(resolvedUser, numberOfMonthsSubscribed);

            bus.Publish(resubscriber);
        }
Пример #21
0
        private void OnReSub(object sender, OnReSubscriberArgs e)
        {
            this.messageBus.Send(nameof(TwitchSubscription),
                                 new TwitchSubscription(
                                     e.Channel,
                                     e.ReSubscriber.UserId,
                                     e.ReSubscriber.Login,
                                     e.ReSubscriber.DisplayName,
                                     null,
                                     e.ReSubscriber.IsModerator,
                                     e.ReSubscriber.IsSubscriber,
                                     e.ReSubscriber.Months,
                                     false));

            this.Broadcast("", Localization.Twitch.THANK_YOU_RESUB, e.ReSubscriber.DisplayName);
        }
Пример #22
0
        public void Test_Client_OnReSubscriber()
        {
            var    chatBot        = new TwitchStreamChatBot();
            string chatMessageRaw = "TODO";
            var    ircMessage     = GetIrcMessage(chatMessageRaw);
            var    args           = new OnReSubscriberArgs()
            {
                ReSubscriber = new TwitchLib.Client.Models.ReSubscriber(ircMessage),
            };

            Assert.True(chatBot.EndOfStreamRaid == null);
            chatBot.Client_OnReSubscriber(null, args);
            Assert.True(chatBot.EndOfStreamRaid != null);

            var template = chatBot.PopulateMarkdownTemplate().ToString();

            Assert.Contains("TODO", template);
        }
Пример #23
0
        public async void ReSubbed(object sender, OnReSubscriberArgs e)
        {
            StandardisedUser Subber = new StandardisedUser();

            Subber.ID = e.ReSubscriber.UserId; Subber.UserName = e.ReSubscriber.DisplayName;
            int Reward = int.Parse(BotInstance.CommandConfig["AutoRewards"]["ReSub"]["Reward"].ToString());

            Data.APIIntergrations.RewardCurrencyAPI.Objects.Viewer V = Data.APIIntergrations.RewardCurrencyAPI.Objects.Viewer.FromTwitchDiscord(MessageType.Twitch, BotInstance, Subber.ID);
            if (V != null)
            {
                Data.APIIntergrations.RewardCurrencyAPI.Objects.Viewer.AdjustBalance(V, Reward, "+");
            }
            await BotInstance.CommandHandler.SendMessage(BotInstance.CommandConfig["AutoRewards"]["ReSub"]["Response"].ToString(), e.Channel.ToString(), MessageType.Twitch, Subber, Reward);

            if (BotInstance.CommandConfig["AutoRewards"]["DiscordSubNotifications"].ToString() == "True")
            {
                await BotInstance.CommandHandler.SendMessage(BotInstance.CommandConfig["AutoRewards"]["ReSub"]["Response"].ToString(), BotInstance.CommandConfig["Discord"]["NotificationChannel"].ToString(), MessageType.Discord, Subber, Reward);
            }
        }
Пример #24
0
        private void OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            string content = "";

            if (e.ReSubscriber.IsTwitchPrime)
            {
                content = "<div><span style=\"color:#A4A0A0; font-family:Arial,Helvetica,sans-serif; font-size:10pt;\">" + e.ReSubscriber.DisplayName + " just resubscribed to " + e.ReSubscriber.Channel + " for " + e.ReSubscriber.Months + " with Twitch Prime. " + e.ReSubscriber.ResubMessage + "</span></div>";
            }
            else
            {
                content = "<div><span style=\"color:#A4A0A0; font-family:Arial,Helvetica,sans-serif; font-size:10pt;\">" + e.ReSubscriber.DisplayName + " just resubscribed to " + e.ReSubscriber.Channel + " for " + e.ReSubscriber.Months + ". " + e.ReSubscriber.ResubMessage + "</span></div>";
            }
            if (webChat.InvokeRequired)
            {
                Action act = () => this.webChat.Document.Body.InnerHtml += content;
                webChat.Invoke(act);
                act = () => ScrollToBottom();
                webChat.Invoke(act);
            }
        }
Пример #25
0
        private void Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            if (Settings.UseResubMessage)
            {
                // replace {resubscriber} with subscriber displayname
                // replace {tier} with Twitch Prime, $4.99, $14.99 $24.99
                // replace {length} with months
                // replace {emote#} with random/selected emote
                var message = Settings.ResubMessage;

                var tier = "Twitch Prime";
                if (!(e.ReSubscriber?.IsTwitchPrime ?? false))
                {
                    switch (e.ReSubscriber?.SubscriptionPlan)
                    {
                    case SubscriptionPlan.Tier1:
                        tier = "$4.99";
                        break;

                    case SubscriptionPlan.Tier2:
                        tier = "$14.99";
                        break;

                    case SubscriptionPlan.Tier3:
                        tier = "$24.99";
                        break;
                    }
                }

                message = message.Replace("{resubscriber}", e.ReSubscriber.DisplayName)
                          .Replace("{tier}", tier)
                          .Replace("{length}", $"{e.ReSubscriber.Months} {(e.ReSubscriber.Months == 1 ? "Month" : "Months")}");

                message = this.ReplaceEmotes(message);

                this.ChatClient.SendMessage(e.ReSubscriber.Channel, message);
            }
        }
Пример #26
0
 public TwitchUserModel GetUserFromReSub(OnReSubscriberArgs data)
 {
     try
     {
         var  badges = GetDataFromBadges(data.ReSubscriber.Badges, data.ReSubscriber.RawIrc);
         bool vip;
         if (badges[2] == 1)
         {
             vip = true;
         }
         else
         {
             vip = false;
         }
         var user = (new TwitchUserModel
         {
             userId = Int32.Parse(data.ReSubscriber.UserId),
             userName = data.ReSubscriber.DisplayName.ToString(),
             SubPlan = GetSubTier(data.ReSubscriber.SubscriptionPlan.ToString()),
             isSub = true,
             isVip = vip,
             isModer = data.ReSubscriber.IsModerator,
             subMounthsCount = badges[0],
             giftsCount = badges[1],
             userType = data.ReSubscriber.UserType.ToString()
         });
         return(user);
     }
     catch (Exception ex)
     {
         //logService.Add(ex, MessageType.Type.ERROR,
         //     MethodBase.GetCurrentMethod().DeclaringType);
         Console.WriteLine(ex.Message + "in " + MethodBase.GetCurrentMethod().DeclaringType);
         return(null);
     }
 }
Пример #27
0
 private async void TwitchOnReSubscriber(object sender, OnReSubscriberArgs e)
 {
     BotChannel bChan = await Program.Channels.GetTwitchChannelByName(e.Channel);
     await Program.BotEvents.RaiseTwitchOnReSubscriber(bChan, new TwitchReSubArguments(e));
 }
Пример #28
0
 private void onReSubscription(object sender, OnReSubscriberArgs e)
 {
     MessageBox.Show($"New resub: {e.ReSubscriber.DisplayName}\nChannel: {e.ReSubscriber.Channel}\nMonths: {e.ReSubscriber.Months}");
 }
Пример #29
0
 private void onReSubscription(object sender, OnReSubscriberArgs e)
 {
     MessageBox.Show($"New resub: {e.ReSubscriber.DisplayName}\nChannel: {e.ReSubscriber.Channel}\nMonths: {e.ReSubscriber.Months}\nTier: {e.ReSubscriber.SubscriptionPlan}\nPlan name: {e.ReSubscriber.SubscriptionPlanName}");
 }
Пример #30
0
 public static void KiraOnReSubscriber(object s, OnReSubscriberArgs e, CallbackArgs args)
 {
     BotService.BotTwitchClient.SendMessage(e.Channel,
                                            $"{e.ReSubscriber.DisplayName}, спасибо за продление подписки! Poooound");
 }
Пример #31
0
 private void Client_OnResubscriber(object sender, OnReSubscriberArgs e)
 {
 }