Пример #1
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            var message = e.ChatMessage.Message;

            if (message[0] == '#')
            {
                if (message.Contains("추가") == true)
                {
                    client.SendMessage(channel, $"귀여운 차차가 노래를 추가 했어!! : \t{new Random().NextDouble()}");
                    MusicQueue.Add(message.Split()[1]);
                    ChangedMusicQueue?.Invoke(this, MusicQueue);
                }
                else if (message.Contains("다음"))
                {
                    var p = MusicQueue.Next();

                    client.SendMessage(channel, $"차차가 {p.Title} 노래를 재생하기 시작했어! : \t{new Random().NextDouble()}");
                    NextMusicQueue?.Invoke(this, p);
                    ChangedMusicQueue?.Invoke(this, MusicQueue);
                }
                else if (message.Contains("중지"))
                {
                    StopMusicQueue?.Invoke(this, null);
                }
                else
                {
                    client.SendMessage(channel, $"차차가 알아 듣지 못하는 명령어를 받아 버렸어..! : \t{new Random().NextDouble()}");
                }
            }
        }
Пример #2
0
 private void _TwitchClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     if (e.ChatMessage.Message.StartsWith("!") || e.ChatMessage.Username.ToLower().Equals("streamlabs"))
     {
         return;
     }
 }
Пример #3
0
        private void TwitchClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            string msg = e.ChatMessage.Message;

            switch (msg)
            {
            case "1":
            case "2":
            case "3":
            case "4":
            case "5":
            case "6":
            case "7":
            case "8":
            case "9":
            case "y":
            case "Y":
            case "n":
            case "N":
                AnswerQuiz(msg, e.ChatMessage); break;
            }
            CommandExpansion commandExpansion = GetCommandExpansion(msg);

            if (commandExpansion != null)
            {
                HandleCommand(commandExpansion.Command, commandExpansion.Arguments, e.ChatMessage);
            }
        }
Пример #4
0
 private void TwitchClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     if (e.ChatMessage.Message[0] == '!')
     {
         twitchClient.SendMessage(e.ChatMessage.Channel, LogColor(e.ChatMessage.Message.Substring(1)));
     }
 }
Пример #5
0
 private void TwitchClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     if (e?.ChatMessage?.Message?.StartsWith("!") == true)
     {
         OnCommandReceived?.Invoke(this, e.ChatMessage.Message);
     }
 }
Пример #6
0
 void CountBits(object source, TwitchLib.Client.Events.OnMessageReceivedArgs args)
 {
     if (args.ChatMessage.Bits > 0)
     {
         bits += args.ChatMessage.Bits / 100f;
         UpdateFiles().GetAwaiter().GetResult();
     }
 }
Пример #7
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            var msg = e.ChatMessage.Message.Trim().ToUpper();

            if (options.Contains(msg))
            {
                voteResult[e.ChatMessage.DisplayName] = msg;
            }
        }
Пример #8
0
        // Register a message in the All Messages List
        private void _client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            // Remove useless characters at the start and end
            var message = e.ChatMessage.Message.Trim();

            _allMessages.Add(message);

            if (_allMessages.Count >= MaxCapacity)
            {
                EvaluateAllMessages();
            }
        }
Пример #9
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            if (e.ChatMessage.Channel == Settings.Default.TwitchUsername)
            {
                if (e.ChatMessage.Message.StartsWith('!'))
                {
                    Console.WriteLine($"{e.ChatMessage.Username} has typed {e.ChatMessage.Message}");
                }

                if (e.ChatMessage.Message.Contains("badword"))
                {
                    client.TimeoutUser(e.ChatMessage.Channel, e.ChatMessage.Username, TimeSpan.FromSeconds(5));
                    client.SendMessage(e.ChatMessage.Channel, $"Naughty {e.ChatMessage.Username}!");
                }
            }
        }
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            IChatMessageRule chatmessageRule = _listChatMessageRules.FirstOrDefault(rule => rule.IsTextMatched(e.ChatMessage.Message));

            if (!(chatmessageRule is null))
            {
                string messageReturnedFromRule = chatmessageRule.ReturnedMessage(e);
                _twitchLibClient.SendMessage(_twitchConfiguration.ChannelName, messageReturnedFromRule);
            }


            if (e.ChatMessage.Message.StartsWith("!uptime", StringComparison.InvariantCultureIgnoreCase))
            {
                var upTime = GetUpTime().Result;
                _twitchLibClient.SendMessage(_twitchConfiguration.ChannelName, upTime?.ToString() ?? "Offline");
            }
        }
Пример #11
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            update();
            CommandRecived(e.ChatMessage.Message);
            try
            {
                if (e.ChatMessage.Bits >= DashConfig.MinBits)
                {
                    CommandRecived("!" + e.ChatMessage.Message.Split('!')[1]);
                }
            }
            catch (Exception E) { }

            if (GestioneFileXml.ReadConfig().TestEnable == true)
            {
                CommandRecived(e.ChatMessage.ToString());
            }
        }
Пример #12
0
        public string HandleBotCommands(TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            IChatMessageRule chatmessageRule = _listChatMessageRules.FirstOrDefault(rule => rule.IsTextMatched(e.ChatMessage.Message.Trim()));

            if (chatmessageRule != null)
            {
                return(chatmessageRule.ReturnedMessage(e));
            }


            //if (e.ChatMessage.Message.StartsWith("!uptime", StringComparison.InvariantCultureIgnoreCase))
            //{
            //    var upTime = GetUpTime().Result;
            //    _twitchLibClient.SendMessage(_twitchConfiguration.ChannelName, upTime?.ToString() ?? "Offline");
            //}

            return(string.Empty);
        }
Пример #13
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            #region oldCommands
            //if(CheckDBCommands("!notranked", e) || CheckDBCommands("!removeranked", e) || CheckDBCommands("!undoranked", e))
            //{
            //    sheet.RemoveLastRanked();
            //    SendTwitchMessage("Last ranked match removed");
            //}
            //else if (CheckDBCommands("!song ", e) && newSongIncoming)
            //{
            //    string songTitle = e.ChatMessage.Message.Remove(0, 6);
            //    DirectoryInfo dirInfo = new DirectoryInfo(@"D:\My Stuff\My Programs\Taiko\TaikoLogging\TaikoLogging\Data\Title Bitmaps\BaseTitles\");
            //    var result = dirInfo.GetFiles();
            //    int numScreenshots = 0;
            //    for (int i = 0; i < result.Length; i++)
            //    {
            //        if (result[i].Name.Remove(result[i].Name.IndexOf('.')) == songTitle)
            //        {
            //            numScreenshots++;
            //        }
            //    }


            //    newSongBitmap.Save(@"D:\My Stuff\My Programs\Taiko\TaikoLogging\TaikoLogging\Data\Title Bitmaps\BaseTitles\" + songTitle + ".png");
            //    newSongIncoming = false;
            //    newSongBitmap = null;
            //    SendTwitchMessage(songTitle + " has been added!");
            //    Program.analysis.NewSongAdded();
            //}
            //else if (CheckDBCommands("!random mode", e))
            //{
            //    Program.analysis.RandomModeToggle();
            //}
            //else if (CheckDBCommands("!random", e))
            //{
            //    sheet.GetRandomSong();
            //}
            #endregion

            if (e.ChatMessage.IsBroadcaster == true)
            {
                Program.commands.CheckCommands(e.ChatMessage.Message);
            }
        }
Пример #14
0
        private void ChatClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            // Check if message contains an emote that is on the list.
            if (EmotesList.Any(x => e.ChatMessage.Message.Contains(x)))
            {
                // Send a signal.
                try
                {
#if DEBUG
                    Trace.WriteLine("Emote received!");
#endif
                    SerialPortHelper.SendMessage(PortName, Alerts[5].Signal, Alerts[5].SignalType);
                }
                catch (Exception ex)
                {
#if DEBUG
                    Trace.WriteLine(ex.Message);
#endif
                }
            }
        }
Пример #15
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            if (e.ChatMessage.Message.StartsWith("hi", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"Hey there { e.ChatMessage.DisplayName }.");
            }
            else if (e.ChatMessage.Message.StartsWith("!uptime", StringComparison.InvariantCultureIgnoreCase))
            {
                var upTime = GetUpTime().Result;

                client.SendMessage(TwitchInfo.ChannelName, upTime?.ToString() ?? "Offline");
            }
            else if (e.ChatMessage.Message.StartsWith("!project", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"I'm working on {TwitchInfo.ProjectDescription}.");
            }
            else if (e.ChatMessage.Message.StartsWith("!instagram", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"Follow me on Instagram: {TwitchInfo.Instagram}");
            }
            else if (e.ChatMessage.Message.StartsWith("!twitter", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"Follow me on Twitter: {TwitchInfo.Twitter}");
            }
            else if (e.ChatMessage.Message.StartsWith("!blog", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"My blog: {TwitchInfo.Blog}");
            }
            else if (e.ChatMessage.Message.StartsWith("!playlist", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"Playlist for my live on Twitch: {TwitchInfo.Playlist}");
            }
            else if (e.ChatMessage.Message.StartsWith("!discord", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage(TwitchInfo.ChannelName, $"Vieni sul mio canale Discord: {TwitchInfo.Discord}");
            }
        }
Пример #16
0
 private void TwitchClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     throw new NotImplementedException();
 }
Пример #17
0
 public override string ReturnedMessage(TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     //return $"I'm working on revealing as many credentials to the internet as possible";
     return($"{base._chatConfiguration.ProjectDescription}");
 }
Пример #18
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            string message = e.ChatMessage.Message.ToLower();

            if (message.Length == 0 || message[0] != '!')
            {
                return;
            }
            if (e.ChatMessage.Message.ToLower() == "!commentators" || e.ChatMessage.Message.ToLower() == "!commentary")
            {
                if (Comm1Name.Text != "")
                {
                    string response = "Commentator 1: " + Comm1Name.Text;
                    if (Comm1Twitter.Text != "")
                    {
                        message += " Twitter: https://twitter.com/" + Comm1Twitter.Text.Replace("@", "");
                    }
                    client.SendMessage(client.JoinedChannels[0], response);
                }
                if (Comm2Name.Text != "")
                {
                    string response = "Commentator 2: " + Comm2Name.Text;
                    if (Comm2Twitter.Text != "")
                    {
                        message += " Twitter: https://twitter.com/" + Comm2Twitter.Text.Replace("@", "");
                    }
                    client.SendMessage(client.JoinedChannels[0], response);
                }
            }
            // if (!e.ChatMessage.IsModerator && !e.ChatMessage.IsBroadcaster) { return; }
            List <string> messageWords = e.ChatMessage.Message.Replace("!", "").Split(' ').ToList();

            if (messageWords[0] == "scene")
            {
                if (!obs)
                {
                    return;
                }
                var    scenes    = _obs.ListScenes();
                string sceneName = messageWords[1];
                foreach (var s in scenes)
                {
                    if (s.Name.ToLower() == sceneName)
                    {
                        _obs.SetCurrentScene(s.Name);
                        return;
                    }
                }
                client.SendMessage(client.JoinedChannels[0], "Could not find scene");
                return;
            }
            if (message == "!scoreboard")
            {
                List <string> controlNames = new List <string>();
                controls.Where(c => c is TextBox || c is NumericUpDown || c is ComboBox).ToList().ForEach(c => controlNames.Add(c.Name));
                client.SendWhisper(e.ChatMessage.Username, "To operate the scoreboard, type the name of a field (not case sensitive) followed by the value. Here is a list of fields: " + string.Join(", ", controlNames) + ". Other commands include !scoreboard and !reset");
                return;
            }
            else if (message.equalsIgnoreCase("!reset"))
            {
                resetButton.Invoke((MethodInvoker)(() => resetButton.PerformClick()));
                return;
            }
            message = message.Replace("!", "");

            if (messageWords.Count >= 2)
            {
                string controlName = messageWords[0];

                Console.WriteLine(controlName);

                Control control = controls.Find(c => c.Name.ToLower() == controlName.ToLower());
                if (control != null)
                {
                    int messageValue;
                    int.TryParse(messageWords[1], out messageValue);
                    if (messageValue != null && control is NumericUpDown)
                    {
                        NumericUpDown c = control as NumericUpDown;
                        c.Invoke((MethodInvoker)(() => c.Value = messageValue));
                        SendUpdateButton.Invoke((MethodInvoker)(() => SendUpdateButton.PerformClick()));
                        return;
                    }
                    control.Invoke((MethodInvoker)(() => control.Text = string.Join(" ", messageWords.GetRange(1, messageWords.Count - 1))));
                    SendUpdateButton.Invoke((MethodInvoker)(() => SendUpdateButton.PerformClick()));
                }
            }
        }
Пример #19
0
 public string ReturnedMessage(TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     return($"Did you REALLY just clip that! !?!?!??");
 }
Пример #20
0
        private async void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            try
            {
                if (e.ChatMessage.Username == client.TwitchUsername)
                {
                    return;
                }
                CommandMessage command       = new CommandMessage(e.ChatMessage.Message, true, $"@{config.BotUsername.ToLower()}");
                ChatMessage    message       = e.ChatMessage;
                string         channelNameL  = message.Channel.ToLower();
                ChannelConfig  channelConfig = config.JoinedChannels.ContainsKey(message.Channel.ToLower()) ? config.JoinedChannels[channelNameL] : new ChannelConfig();
                if (channelConfig.MentionOnly && !command.Mentioned)
                {
                    return;
                }

                switch (command.Command.ToLower())
                {
                case "!uptime":
                {
                    var uptime = GetUptime(message.Channel);
                    client.SendMessage(message.Channel, uptime == null ? $"{message.Channel} is op dit moment niet aan het streamen! lekkerKonkie" : $"{message.Channel} is al {(int)(uptime?.TotalMinutes ?? 0)} minuten aan het streamen");
                    break;
                }

                case "!join":
                {
                    string channelName = command.ReadString();
                    if (!string.IsNullOrEmpty(channelName) && !config.JoinedChannels.ContainsKey(channelName.ToLower()))
                    {
                        var channel = api.Users.v5.GetUserByNameAsync(channelName).Result.Matches;
                        if (channel != null && channel.Length >= 1)
                        {
                            config.JoinedChannels.Add(channelName.ToLower(), new ChannelConfig());
                            client.JoinChannel(channelName);
                            client.SendMessage(message.Channel, $"lekkerRichard ik kom naar het kanaal {channelName} lekkerSicko ");
                            botConfigs.Save();
                        }
                    }
                    break;
                }

                case "lekkerrichard":
                {
                    if (channelConfig.RichardEmoteEnabled)
                    {
                        client.SendMessage(message.Channel, $"lekkerRichard lekkerRichard lekkerRichard lekkerSicko {k++}");
                    }
                    break;
                }

                case "avond":
                {
                    if (channelConfig.EveningEnabled && (!botEveningTimeout.ContainsKey(message.UserId) || (DateTime.Now - botEveningTimeout[message.UserId]).TotalMinutes > channelConfig.EveningTimeout))
                    {
                        botEveningTimeout[message.UserId] = DateTime.Now;
                        client.SendMessage(message.Channel, $"/me Avond @{e.ChatMessage.DisplayName} malse makker! lekkerRichard lekkerDag");
                    }
                    break;
                }

                case "middag":
                {
                    if (channelConfig.EveningEnabled && !botEveningTimeout.ContainsKey(message.UserId) || (DateTime.Now - botEveningTimeout[message.UserId]).TotalMinutes > channelConfig.EveningTimeout)
                    {
                        botEveningTimeout[message.UserId] = DateTime.Now;
                        client.SendMessage(message.Channel, $"/me Middag @{e.ChatMessage.DisplayName} malse makker! lekkerRichard lekkerDag");
                    }
                    break;
                }

                case "!enable":
                case "!disable":
                {
                    if (IsAdmin(message))
                    {
                        switch (command.ReadString().ToLower())
                        {
                        case "mention":
                        {
                            channelConfig.MentionOnly = command.Command.ToLower() == "!enable";
                            SendMessage($"Ik reageer " + (channelConfig.MentionOnly ? $"nu alleen op @{client.TwitchUsername}" : "nu gewoon op alle chat berichten"), message.Channel);
                            break;
                        }

                        case "emote":
                        {
                            channelConfig.RichardEmoteEnabled = command.Command.ToLower() == "!enable";
                            SendMessage($"Ik reageer " + (channelConfig.RichardEmoteEnabled ? "weer op lekkerRichard lekkerSicko" : "niet meer op lekkerRichard lekkerAppie"), message.Channel);
                            break;
                        }

                        case "evening":
                        case "avond":
                        {
                            channelConfig.EveningEnabled = command.Command.ToLower() == "!enable";
                            SendMessage($"Ik reageer " + (channelConfig.EveningEnabled ? "weer op 'avond' lekkerRichard" : "niet meer op 'avond' lekkerAppie"), message.Channel);
                            break;
                        }
                        }
                        botConfigs.Save();
                    }
                    break;
                }

                default:
                {
                    //Need to move stuff around to make this less italian rrly need to

                    if (message.Message.ToLower().Contains(" avond") || message.Message.ToLower().Contains(" avond "))
                    {
                        goto case "avond";
                    }
                    else if (message.Message.ToLower().Contains(" middag") || message.Message.ToLower().Contains(" middag "))
                    {
                        goto case "middag";
                    }
                    break;
                }
                }
            }
            catch (Exception ex)
            {
                await BotWrapper.DiscordBot.sendDebugMessage(ex.ToString());
            }
        }
Пример #21
0
 private static void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     SendMessage(e.ChatMessage.Username, e.ChatMessage.Message);
 }
Пример #22
0
 public override string ReturnedMessage(TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     return($"{base._chatConfiguration.Instagram}");
 }
Пример #23
0
        private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            string user    = e.ChatMessage.Username;
            string message = e.ChatMessage.Message;

            string[]      parts         = message.Split(' ');
            List <string> words         = new List <string>(parts);
            int           unique        = words.Distinct().Count();
            int           wordCount     = words.Count;
            float         uniquePercent = (float)unique / (float)wordCount;

            //Loop through and remove spam words
            List <int> removeIndexes = new List <int>();

            for (int i = 0; i < wordCount; i++)
            {
                if (words[i].Length > 25)
                {
                    removeIndexes.Add(i);
                }
            }
            for (int i = removeIndexes.Count - 1; i >= 0; i--)
            {
                words.RemoveAt(removeIndexes[i]);
            }

            //Reconstruct message
            string newMessage = "";

            foreach (string word in words)
            {
                newMessage += word + " ";
            }

            newMessage = Regex.Replace(newMessage, @"[^\w\s0-9\.,`!;]", " ");
            newMessage = Regex.Replace(newMessage, @"http[^\s]*", "link");

            if (!message.StartsWith("!") && (uniquePercent > 0.5f || wordCount <= 3) && words.Count > 0)
            {
                chats.Add($"{user}: {message}");
                window.Dispatcher.Invoke(new Action(() => {
                    window.Chat.ItemsSource = null;
                    window.Chat.ItemsSource = chats;
                }));

                if (!voices.ContainsKey(user))
                {
                    ReadOnlyCollection <InstalledVoice> installed = speech.GetInstalledVoices();
                    int randomName = random.Next(0, 2);
                    int randomRate = random.Next(0, 4);
                    Console.WriteLine($"Name index ({randomName}) Rate value ({randomRate})");
                    voices.Add(user, new ChatVoice()
                    {
                        name = installed[randomName].VoiceInfo.Name,
                        rate = randomRate
                    });
                }

                speech.SelectVoice(voices[user].name);
                speech.Rate = voices[user].rate;
                string userToSay = (lastUser == user) ? "" : $"{user.Replace("_", " ")} says: ";
                Prompt p         = speech.SpeakAsync($"{userToSay}{newMessage}");
                lastUser = user;
            }
        }
Пример #24
0
 /// <summary>
 /// Event handler for the TwitchClient OnMessageReceived event.
 /// </summary>
 private void TwitchClient_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     // We want to take the contents from chat and format them and send them to the front-end via the hub.
     SendChatMessage($"{e.ChatMessage.DisplayName}: {e.ChatMessage.Message}");
 }
Пример #25
0
 private void OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     Debug.Log($"Message received from {e.ChatMessage.Username}: {e.ChatMessage.Message}");
 }
Пример #26
0
 public string ReturnedMessage(TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     return($"Hey there { e.ChatMessage.DisplayName }.");
 }
Пример #27
0
 private void OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     Debug.Log("MESSAGE");
     Debug.Log(e.ChatMessage.Message);
 }
 public string ReturnedMessage(TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     return($"Surly likes rusty spoons");
 }
Пример #29
0
 private void Client_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     HandleReceivedMessage(e.ChatMessage);
 }
Пример #30
0
 public string ReturnedMessage(TwitchLib.Client.Events.OnMessageReceivedArgs e)
 {
     return($"Stop bloody destroying things!");
 }