private async void HandleStreamReading() { string line = string.Empty; while ((line = await Streams.InputStream.ReadLineAsync()) != null) { string[] messageSegments = line.Split(new char[] { ' ' }, 4); if (messageSegments[0] == "PING") { SendRaw("PONG {0}", messageSegments[1]); continue; } if (messageSegments.Length != 4) { continue; } MBotMessage _m = new MBotMessage(messageSegments[0].Split('!')[0].Replace(":", ""), messageSegments[3].Substring(1, messageSegments[3].Length - 1), line); if (_m.Sender == "tmi.twitch.tv" && _m.Text == "HEARTBEAT :Unknown command") { continue; } if (OnMessageRecieve != null) { OnMessageRecieve(this, _m); } } Stop(); }
private void Bot_OnMessageRecieve(IRCBot sender, MBotMessage message) { bool hasParamiter = message.Text.Contains(" "); string uCmd = string.Empty; string[] Parameters = new string[] { }; if (hasParamiter) { uCmd = message.Text.Split(' ')[0]; Parameters = message.Text.Split(new char[] { ' ' }, 2)[1].Split(' '); } else { uCmd = message.Text; } foreach (ListViewItem i in listView1.Items) { RegisteredCommand command = (RegisteredCommand)i.Tag; if (command == null) { continue; } if (command.IsModOnly && !Moderators.Contains(message.Sender.ToLower())) { continue; } if (command.Handler.Command.Paramiter == ParamiterType.Must && !hasParamiter) { continue; } if (command.CheckFlag(message)) { command.Execute(message.Sender, Parameters); } } foreach (var plugin in PluginList) { if (plugin.Permissions.CanUseChatTrigger) { plugin.Permissions.Handlers.ChatTrigger.CheckTrigger(plugin, message.Sender, message.Text); } } }
private async void HandleStreamReading() { string line = string.Empty; while ((line = await Streams.InputStream.ReadLineAsync()) != null) { string[] messageSegments = line.Split(new char[] { ' ' }, 4); if (messageSegments[0] == "PING") { SendRaw("PONG {0}", messageSegments[1]); continue; } if (messageSegments.Length != 4) continue; MBotMessage _m = new MBotMessage(messageSegments[0].Split('!')[0].Replace(":", ""), messageSegments[3].Substring(1, messageSegments[3].Length - 1), line); if (_m.Sender == "tmi.twitch.tv" && _m.Text == "HEARTBEAT :Unknown command") continue; if (OnMessageRecieve != null) OnMessageRecieve(this, _m); } Stop(); }
private void Bot_OnMessageRecieve(IRCBot sender, MBotMessage message) { bool hasParamiter = message.Text.Contains(" "); string uCmd = string.Empty; string[] Parameters = new string[] { }; if (hasParamiter) { uCmd = message.Text.Split(' ')[0]; Parameters = message.Text.Split(new char[] {' '}, 2)[1].Split(' '); } else { uCmd = message.Text; } foreach(ListViewItem i in listView1.Items) { RegisteredCommand command = (RegisteredCommand)i.Tag; if (command == null) continue; if (command.IsModOnly && !Moderators.Contains(message.Sender.ToLower())) continue; if (command.Handler.Command.Paramiter == ParamiterType.Must && !hasParamiter) continue; if (command.CheckFlag(message)) command.Execute(message.Sender, Parameters); } foreach(var plugin in PluginList) { if (plugin.Permissions.CanUseChatTrigger) plugin.Permissions.Handlers.ChatTrigger.CheckTrigger(plugin, message.Sender, message.Text); } }