コード例 #1
0
 void Client_RawMessageRecieved(object sender, ChatSharp.Events.RawMessageEventArgs e)
 {
     this.Dispatcher.Invoke(() => {
         Console.WriteLine("{0} << {1}", DateTime.Now.ToShortTimeString(), e.Message);
         textblockStatus.Text = e.Message;
     });
 }
コード例 #2
0
ファイル: Connection.cs プロジェクト: foxbot/GoogBot-Recode
        private void Client_RawMessageRecieved(object sender, ChatSharp.Events.RawMessageEventArgs e)
        {
            if (config.debug)
            {
                Console.WriteLine("<< {0}", e.Message);
            }

            if (e.Message.Contains("INVITE " + client.User.Nick))
            {
                JoinChannel(e.Message.Substring(e.Message.LastIndexOf(":") + 1));
            }
        }
コード例 #3
0
ファイル: IrcClient.cs プロジェクト: nfp-projects/irc_bot
 void _client_RawMessageRecieved(object sender, ChatSharp.Events.RawMessageEventArgs e)
 {
     if (e.Message.IndexOf("/MOTD") >= 0 && !_connected)
     {
         if (!_nickserv)
         {
             Connected  = true;
             Connecting = false;
             OnConnected(this, null);
         }
         else
         {
             _client.SendMessage("identify " + _password, "NickServ");
         }
     }
     else if (e.Message[0] == ':' && (e.Message.Contains(String.Format("MODE {0} :+r", _nick)) || e.Message.Contains(":Your nick isn't registered.")))
     {
         Connected  = true;
         Connecting = false;
         OnConnected(this, null);
     }
 }
コード例 #4
0
        private static void Client_RawMessageRecieved(object s, ChatSharp.Events.RawMessageEventArgs e)
        {
            //Plugin.Log(e.Message);
            try {
                if (e.Message.StartsWith("@"))
                {
                    string[] parts   = e.Message.Split(new char[] { ' ' }, 2);
                    string   message = parts[1];
                    Dictionary <string, string> messageComponents = parts[0].Substring(1).Split(';').ToList().ToDictionary(x => x.Substring(0, x.IndexOf('=')), y => y.Substring(y.IndexOf('=') + 1));
                    if (System.Text.RegularExpressions.Regex.IsMatch(message, ":.*!.*@.*.tmi.twitch.tv"))
                    {
                        string msgSender = message.Substring(1, message.IndexOf('!') - 1);
                        string msgPrefix = $":{msgSender}!{msgSender}@{msgSender}.tmi.twitch.tv ";
                        if (message.StartsWith(msgPrefix))
                        {
                            List <string> msgArray = message.Replace(msgPrefix, "").Split(new char[] { ' ' }, 3).ToList();
                            switch (msgArray[0])
                            {
                            case "PRIVMSG":
                                // Grab the info we care about from the current message
                                MessageInfo messageInfo = GetMessageInfo(msgSender, messageComponents);

                                // Remove the : from the beginning of the msg
                                msgArray[2] = msgArray[2].Substring(1);

                                // Parse any emotes in the message, download them, then queue it for rendering
                                SpriteParser.Parse(new ChatMessage(Utilities.StripHTML(msgArray[2]), messageInfo), _chatHandler);
                                break;
                            }
                        }
                    }
                    else
                    {
                        if (message.Contains("ROOMSTATE"))
                        {
                            Plugin.TwitchChannelID = messageComponents["room-id"];
                            Plugin.Log($"Channel room-id: {Plugin.TwitchChannelID}");
                        }
                        else if (message.Contains("CLEARCHAT"))
                        {
                            _chatHandler.OnUserTimedOut(messageComponents["target-user-id"]);
                        }
                        else if (message.Contains("USERNOTICE"))
                        {
                            switch (messageComponents["msg-id"])
                            {
                            case "sub":
                            case "resub":
                            case "subgift":
                                MessageInfo messageInfo = GetMessageInfo(String.Empty, messageComponents);
                                string      newMsg      = messageComponents["system-msg"].Replace("\\s", " ");
                                SpriteParser.Parse(new ChatMessage($"<b>{newMsg.Substring(newMsg.IndexOf(" ") + 1)}</b>", messageInfo), _chatHandler);
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception) {
                //Plugin.Log($"Caught exception \"{ex.Message}\" from {ex.Source}");
                //Plugin.Log($"Stack trace: {ex.StackTrace}");
            }
        }