예제 #1
0
 bool ICommandes.Action(
     JoinedChannel joinedChannel,
     TextBox prefixe,
     TwitchClient client,
     TwitchBotForm me,
     OnMessageReceivedArgs e
     )
 {
     if (e.ChatMessage.UserType == TwitchLib.Client.Enums.UserType.Viewer)
     {
         client.SendMessage(joinedChannel, $"Sorry only moderator can do that.");
     }
     else
     {
         if (me.songRequests.Rows.Count <= 1)
         {
             client.SendMessage(joinedChannel, "No More song to remove");
             return(true);
         }
         me.RemoveLastPlayerSong();
         client.SendMessage(joinedChannel, "Song removed");
         var sog = me.songRequests?.Rows[0]?.Cells["Song"]?.Value?.ToString() ?? null;
         client.SendMessage(joinedChannel, sog != null ? $"Next song : {sog} " : "End of the queue");
     }
     return(true);
 }
예제 #2
0
 bool ICommandes.Action(
     JoinedChannel joinedChannel,
     TextBox prefixe,
     TwitchClient client,
     TwitchBotForm me,
     OnMessageReceivedArgs e
     )
 {
     client.SendMessage(joinedChannel, $"I'm version {Assembly.GetExecutingAssembly().GetName().Version}");
     return(true);
 }
예제 #3
0
 bool ICommandes.Action(
     JoinedChannel joinedChannel,
     TextBox prefixe,
     TwitchClient client,
     TwitchBotForm me,
     OnMessageReceivedArgs e
     )
 {
     client.SendMessage(joinedChannel,
                        string.Format(Resources.Command_Base_Action_Message, joinedChannel.Channel));
     return(true);
 }
예제 #4
0
        bool ICommandes.Action(
            JoinedChannel joinedChannel,
            TextBox prefixe,
            TwitchClient client,
            TwitchBotForm me,
            OnMessageReceivedArgs e
            )
        {
            var song = me.songRequests?.Rows[0]?.Cells["Song"]?.Value?.ToString() ?? null;

            if (song != null)
            {
                client.SendMessage(joinedChannel, $"Next song : {song} ");
            }
            else
            {
                client.SendMessage(joinedChannel, "End of the queue");
            }
            return(true);
        }
예제 #5
0
        bool ICommandes.Action(
            JoinedChannel joinedChannel,
            TextBox prefixe,
            TwitchClient client,
            TwitchBotForm me,
            OnMessageReceivedArgs e
            )
        {
            try
            {
                me.RemoveSongByRequester(e.ChatMessage.Username);
                client.SendMessage(joinedChannel, $"{Resources.Command_Cancel_Action_Canceled}");
            }
            catch (Exception)
            {
                client.SendMessage(joinedChannel, Resources.Command_Cancel_Action_NoSongToCancel);
            }

            return(true);
        }
예제 #6
0
        bool ICommandes.Action(
            JoinedChannel joinedChannel,
            TextBox prefixe,
            TwitchClient client,
            TwitchBotForm me,
            OnMessageReceivedArgs e
            )
        {
            if (!me.QueueIsOpen)
            {
                me.QueueIsOpen = true;
                client.SendMessage(joinedChannel, "Queue is now open");
            }
            else
            {
                client.SendMessage(joinedChannel, "Queue is already open");
            }

            return(true);
        }
예제 #7
0
        bool ICommandes.Action(
            JoinedChannel joinedChannel,
            TextBox prefixe,
            TwitchClient client,
            TwitchBotForm me,
            OnMessageReceivedArgs e
            )
        {
            var songs     = new List <string>();
            var counter   = 0;
            var concatStr = "";

            for (var i = 0; me.songRequests.Rows.Count - 1 > i; i++)
            {
                var songStr = me.songRequests.Rows[i].Cells["Song"].Value.ToString();
                if (concatStr.Length + songStr.Length > 500)
                {
                    songs.Add(concatStr);
                    concatStr = songStr;
                    counter   = songStr.Length;
                }
                else
                {
                    if (!string.IsNullOrEmpty(concatStr))
                    {
                        concatStr += " // ";
                    }
                    concatStr += songStr;
                }
            }

            songs.Add(concatStr);

            client.SendMessage(joinedChannel, "Next songs are: ");
            Thread.Sleep(400);
            foreach (var songMessage in songs)
            {
                client.SendMessage(joinedChannel, songMessage);
            }
            return(true);
        }
예제 #8
0
        bool ICommandes.Action(
            JoinedChannel joinedChannel,
            TextBox prefixe,
            TwitchClient client,
            TwitchBotForm me,
            OnMessageReceivedArgs e
            )
        {
            var args = e.ChatMessage.Message.Split(' ');

            if (args.Length < 3)
            {
                return(false);
            }
            var lang = args[2];

            if (lang.Length > 10)
            {
                return(false);
            }

            var ViewerLang = me._configuration.ViewerLang;

            ViewerLang.Remove(e.ChatMessage.UserId);
            ViewerLang.Add(e.ChatMessage.UserId, lang);
            me._configuration.ViewerLang = ViewerLang;
            if (ViewerLang.ContainsKey(e.ChatMessage.UserId))
            {
                Thread.CurrentThread.CurrentUICulture =
                    new CultureInfo(me._configuration.ViewerLang[e.ChatMessage.UserId], true);
                Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;
            }

            client.SendMessage(joinedChannel,
                               "Votre langue a bien été changé, si ce message n'est pas afficher dans la bonne langue, c'est que votre langue n'est pas encore disponible.");
            return(true);
        }
예제 #9
0
        bool ICommandes.Action(
            JoinedChannel joinedChannel,
            TextBox prefixe,
            TwitchClient client,
            TwitchBotForm me,
            OnMessageReceivedArgs e
            )
        {
            var args = e.ChatMessage.Message.Split(' ');

            if (args.Length >= 3)
            {
                var searshedCmd = args[2];
                if (me.Commandes.ContainsKey(searshedCmd))
                {
                    var commande = me.Commandes[searshedCmd];
                    client.SendMessage(joinedChannel,
                                       $"{Resources.Command_Help_Action_Cmd} {searshedCmd} ---> {commande.Help()}");
                }
                else
                {
                    client.SendMessage(joinedChannel, Resources.Command_Help_Action_UnknowCommand);
                }
            }
            else
            {
                var cmdList           = new List <ICommandes>();
                var stringCommandList = new List <string>();
                var index             = 0;
                stringCommandList.Add("");
                foreach (var cmd in me.Commandes)
                {
                    if (!cmdList.Contains(cmd.Value))
                    {
                        cmdList.Add(cmd.Value);
                        if (stringCommandList[index].Length <= 450)
                        {
                            if (stringCommandList[index].Length == 0)
                            {
                                stringCommandList[index] = $"!rc {cmd.Key}";
                            }
                            else
                            {
                                stringCommandList[index] = $"{stringCommandList[index]}, !rc {cmd.Key}";
                            }
                        }
                        else
                        {
                            index++;
                            stringCommandList.Add("");
                            stringCommandList[index] = $"!rc {cmd.Key}";
                        }
                    }
                }

                foreach (var s in stringCommandList)
                {
                    client.SendMessage(joinedChannel, $"{Resources.Command_Help_Action_CommandList} ---> {s}");
                }
                client.SendMessage(joinedChannel, Resources.Command_Help_Action_OthersCommand);
            }

            return(true);
        }