private static void IrcClient_Process(object sender, IrcRawMessageEventArgs e) { ThreadPool.QueueUserWorkItem( new WaitCallback(delegate(object state) { try { string[] strlist = e.RawContent.Split(" "); if (strlist[2] == "PRIVMSG") { string[] modes = strlist [0] .Split(";"); int i = 0; bool isMod = false; string username = ""; foreach (string r in modes) { if (r.Contains("mod=")) { string IsMod = r.Split("=")[1]; // IsMod = IsMod.Remove(IsMod.Length - 1); if (IsMod == "1") { isMod = true; } } else if (r.Contains("display-name=")) { username = r.Split("=")[1]; } i++; } // Channel = String channelName // Username = String username // Message = String message // Is User mod? = Boolean isMod string channelName = strlist [3] .Substring(1); string message = strlist [4] .Substring(1); if (username.ToLower() == channelName.ToLower()) { isMod = true; } Log.Logger.OutputToConsole("[{0}] {1}: {2}", strlist[3], username, message); TechBot.Objects.Channel Channel = FindChannel(channelName); TechBot.Objects.User tempUser = Channel.FindUser(username); if (tempUser == null) { tempUser = new TechBot.Objects.User(username, channelName); } Channel.UserJoined(tempUser); Channel.ChatMessageReceived(tempUser, isMod, message); } else { // Log.Logger.OutputToConsole(e.RawContent); } } catch { } }), null); }
private void ClientOnRawMessageReceived(object?sender, IrcRawMessageEventArgs e) { }
private void IrcClient_RawMessageReceived(object sender, IrcRawMessageEventArgs e) => MessageReceived?.Invoke($"RAW: {e.RawContent}");
void IrcClient_RawMessageReceived(object sender, IrcRawMessageEventArgs e) { if (OnNewMessagesArrived != null) { string prefix, command; string[] parameters; ParseIrcMessageWithRegex(e.RawContent, out prefix, out command, out parameters); List <ChatMessage> msgs = new List <ChatMessage>(); string username = getUserName(prefix); dots += "."; if (dots.Length > 3) { dots = ""; } //msgs.Add(new ChatMessage() { // Date = DateTime.Now, // Name = "RAW", // Text = e.RawContent //}); // System.IO.File.AppendAllText("x:\\twitch.log", e.RawContent + "\r\n"); switch (command) { case "PART": case "JOIN": Header = "http://twitch.tv, " + StreamerNick + dots; break; case "PRIVMSG": Header = "http://twitch.tv, " + StreamerNick; if (username != "Jtv") { msgs.Add(new ChatMessage() { Date = DateTime.Now, Name = username, Text = parameters[1] }); } else { //msgs.Add(new ChatMessage() { // Date = DateTime.Now, // Name = "SYSTEM", // Text = parameters[1] //}); } break; //case "+": // msgs.Add(new ChatMessage() { // Date = DateTime.Now, // Name = prefix, // Text = "[УДАЛЕНИЕ] " + e.RawContent // }); // break; //default: // msgs.Add(new ChatMessage() { // Date = DateTime.Now, // Name = prefix, // Text = "["+command + "] " + e.RawContent // }); // break; } if (msgs.Count > 0) { OnNewMessagesArrived(msgs); } } }
private void OnRawMessageReceived(object?sender, IrcRawMessageEventArgs e) { Task.Run(async() => await ResponseHandler.HandleAsync(e.RawContent, this)); }
private void ClientOnRawMessageSent(object sender, IrcRawMessageEventArgs ircRawMessageEventArgs) { //ircRawMessageEventArgs. }