Exemplo n.º 1
0
 public override void OnUserJoinedChannel(IrcSession s, string channel, IrcUser user)
 {
     Console.WriteLine("{0} joined {1} ({2})", user.CurrentNick, channel, s.GetChannelUsers(channel).Count);
 }
Exemplo n.º 2
0
 public override void OnUserPartedChannel(IrcSession s, string channel, IrcUser user, string message)
 {
     Console.WriteLine("{0} parted {1} [{2}]({3})", user.CurrentNick, channel, message, s.GetChannelUsers(channel).Count);
 }
Exemplo n.º 3
0
        public void HandleLocalInput(string input)
        {
            char[] seperator = new Char[1];
            seperator[0] = ' ';
            input        = input.Trim();
            string[] args = input.Split(seperator);
            switch (args[0])
            {
            case "":
                break;

            case "/quit":
                mySession.Quit("gala out!");
                break;

            case "/msg":
                if (args.Length < 3)
                {
                    break;
                }
                String text = args[2];
                if (args.Length > 3)
                {
                    for (int x = 3; x < args.Length; x++)
                    {
                        text = String.Concat(text, " ");
                        text = String.Concat(text, args[x]);
                    }
                }
                mySession.Msg(args[1], text);
                break;

            case "/list":
                List <IrcNick> users = mySession.GetChannelUsers(channel);
                if (users == null)
                {
                    break;
                }
                foreach (IrcNick nick in users)
                {
                    Console.Write("{0} ", nick.RawNick);
                }
                Console.WriteLine("");
                break;

            case "/me":
                if (args.Length < 2)
                {
                    break;
                }
                text = args[1];
                if (args.Length > 1)
                {
                    for (int x = 2; x < args.Length; x++)
                    {
                        text = String.Concat(text, " ");
                        text = String.Concat(text, args[x]);
                    }
                }
                mySession.Action(channel, text);
                break;

            case "/mode":
                if (args.Length == 1)
                {
                    mySession.SetUserMode(null, false);
                    break;
                }
                if (args[1][0] != '+' && args[1][0] != '-')
                {
                    break;
                }
                mySession.SetUserMode(args[1].Substring(1), args[1][0] == '-');
                break;

            case "/cmode":
                if (args.Length < 1)
                {
                    break;
                }
                if (args.Length == 1)
                {
                    mySession.SetChannelMode(channel, null, null, false);
                    break;
                }
                if (args[1][0] != '+' && args[1][0] != '-')
                {
                    break;
                }
                string ModeOption = null;
                if (args.Length >= 3)
                {
                    ModeOption = args[2];
                }
                Console.WriteLine(ModeOption);
                mySession.SetChannelMode(channel, args[1].Substring(1), ModeOption, args[1][0] == '-');
                break;

            default:
                if (input[0] == '/')
                {
                    break;
                }
                mySession.Msg(channel, input);
                break;
            }
        }