Exemple #1
0
        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();
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
 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();
 }
Exemple #4
0
        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);
            }
        }