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; }); }
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)); } }
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); } }
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}"); } }