Exemplo n.º 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})");
        }
Exemplo n.º 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;
            }
        }
Exemplo n.º 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);
                }
            }
        }
Exemplo n.º 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);
        }
Exemplo n.º 8
0
        private void _Client_OnReSubscriber(object sender, OnReSubscriberArgs e)
        {
            if (!EnableSubPixels)
            {
                return;
            }

            _GoogleSheet.AddPixelsForUser(e.ReSubscriber.DisplayName, _PixelRewards[e.ReSubscriber.SubscriptionPlan], "PixelBot-Resub");
        }
Exemplo n.º 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");
        }
Exemplo n.º 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);
        }
Exemplo n.º 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);
     }
 }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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);
        }
Exemplo n.º 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);
        }
Exemplo n.º 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);
        }
Exemplo n.º 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());
     }
 }
Exemplo n.º 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();
        }
Exemplo n.º 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);
     }
 }
Exemplo n.º 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);
        }
Exemplo n.º 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);
        }
Exemplo n.º 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);
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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);
     }
 }
Exemplo n.º 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));
 }
Exemplo n.º 28
0
 private void onReSubscription(object sender, OnReSubscriberArgs e)
 {
     MessageBox.Show($"New resub: {e.ReSubscriber.DisplayName}\nChannel: {e.ReSubscriber.Channel}\nMonths: {e.ReSubscriber.Months}");
 }
Exemplo n.º 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}");
 }
Exemplo n.º 30
0
 public static void KiraOnReSubscriber(object s, OnReSubscriberArgs e, CallbackArgs args)
 {
     BotService.BotTwitchClient.SendMessage(e.Channel,
                                            $"{e.ReSubscriber.DisplayName}, спасибо за продление подписки! Poooound");
 }
Exemplo n.º 31
0
 private void Client_OnResubscriber(object sender, OnReSubscriberArgs e)
 {
 }