示例#1
0
        public void OnChannelModeChange( UserInfo who, string channel, ChannelModeInfo[] modes)
        {
            //+h bob +b -i *!*@* +e *!*@*.fi

            Assertion.AssertEquals("OnChannelModeChange: userInfo.Nick","Scurvy", who.Nick );
            Assertion.AssertEquals("OnChannelModeChange: userInfo.User","~Scurvy", who.User );
            Assertion.AssertEquals("OnChannelModeChange: userInfo.Host","pcp825822pcs.nrockv01.md.comcast.net", who.Hostname );

            Assertion.AssertEquals("OnChannelModeChange: channel", "#sharktest", channel );
            Assertion.AssertEquals("OnChannelModeChange: action", ModeAction.Add, modes[0].Action );
            Assertion.AssertEquals("OnChannelModeChange: size", 4, modes.Length );

            Assertion.AssertEquals("OnChannelModeChange: halfop", ChannelMode.HalfChannelOperator, modes[0].Mode );
            Assertion.AssertEquals("OnChannelModeChange: halfop", "bob", modes[0].Parameter );

            Assertion.AssertEquals("OnChannelModeChange: ban", ChannelMode.Ban, modes[1].Mode );
            Assertion.AssertEquals("OnChannelModeChange: param", "*!*@*", modes[1].Parameter );

            Assertion.AssertEquals("OnChannelModeChange: invite action", ModeAction.Remove, modes[2].Action );
            Assertion.AssertEquals("OnChannelModeChange: invite mode", ChannelMode.InviteOnly, modes[2].Mode );

            Assertion.AssertEquals("OnChannelModeChange: exception action", ModeAction.Add, modes[3].Action );
            Assertion.AssertEquals("OnChannelModeChange: exception mode", ChannelMode.Exception, modes[3].Mode );
            Assertion.AssertEquals("OnChannelModeChange: exception param", "*!*@*.fi", modes[3].Parameter );
            Console.WriteLine("OnChannelModeChange");
        }
示例#2
0
        private void SetMode(bool set, string channel, ChannelMode mode, string nickname)
        {
            ChannelModeInfo modeInfo = new ChannelModeInfo();

            modeInfo.Mode      = mode;
            modeInfo.Parameter = nickname;
            modeInfo.Set       = set;
            Bot.IRC.Command.SendMode(channel, modeInfo);
        }
示例#3
0
        /// <summary>
        /// Sends a Mode command for either a channel mode or user mode
        /// </summary>
        /// <param name="channel"></param>
        /// <param name="mode"></param>
        public void SendMode(string channel, ChannelModeInfo modeInfo)
        {
            string mode_set = modeInfo.Set ? "+" : "-";

            _IRC.SendTCPMessage(string.Format("MODE {0} {1} {2}", channel, mode_set + modeInfo.Mode, modeInfo.Parameter));
            if (ChannelModeCommandEvent != null)
            {
                ChannelModeCommandEvent(this, new ChannelModeCommand {
                    Channel = channel, Mode = modeInfo
                });
            }
        }
示例#4
0
        private void SetMode(bool set, string channel, ChannelMode mode, List <string> nicknames)
        {
            List <ChannelModeInfo> modeInfos = new List <ChannelModeInfo>();

            foreach (var nickname in nicknames)
            {
                ChannelModeInfo modeInfo = new ChannelModeInfo();
                modeInfo.Mode      = mode;
                modeInfo.Parameter = nickname;
                modeInfo.Set       = set;
                modeInfos.Add(modeInfo);
            }
            Bot.IRC.Command.SendMode(channel, modeInfos);
        }
示例#5
0
        public void OnChannelModeRequest( string channel, ChannelModeInfo[] modes )
        {
            //":irc.sventech.com 324 deltabot #sharktest +tpl 10"

            Assertion.AssertEquals("OnChannelModeRequest: channel", "#sharktest", channel );
            Assertion.AssertEquals("OnChannelModeRequest: size", 3, modes.Length );

            Assertion.AssertEquals("OnChannelModeRequest: topic", ChannelMode.TopicSettable, modes[0].Mode );

            Assertion.AssertEquals("OnChannelModeRequest: private", ChannelMode.Private, modes[1].Mode );

            Assertion.AssertEquals("OnChannelModeRequest: limited", ChannelMode.UserLimit, modes[2].Mode );
            Assertion.AssertEquals("OnChannelModeRequest: param", "10", modes[2].Parameter );
            Console.WriteLine("OnChannelModeRequest");
        }
示例#6
0
 public ChannelModeCommand()
 {
     Channel = string.Empty;
     Mode    = new ChannelModeInfo();
 }