Exemple #1
0
        //1.筛选出所要加入的频道,如果不存在则创建

        //2.检查用户名nickname是否已经在频道中存在
        //若存在则提醒用户名字冲突
        //不存在则加入频道
        //广播加入信息
        //发送频道模式给此用户
        //发送频道用户列表给此用户
        //_errorCode>1024
        protected override void CheckRequest()
        {
            base.CheckRequest();
            //some GameSpy game only allow one player join one chat room
            //but GameSpy Arcade can join more than one channel
            if (_session.UserInfo.JoinedChannels.Count > 3)
            {
                _sendingBuffer =
                    ChatIRCError.BuildToManyChannelError(_request.ChannelName);
                return;
            }
        }
        //1.筛选出所要加入的频道,如果不存在则创建

        //2.检查用户名nickname是否已经在频道中存在
        //若存在则提醒用户名字冲突
        //不存在则加入频道
        //广播加入信息
        //发送频道模式给此用户
        //发送频道用户列表给此用户
        //_errorCode>1024
        public override void CheckRequest()
        {
            base.CheckRequest();
            if (_errorCode != ChatError.NoError)
            {
                return;
            }

            //game spy only allow one player join one chat room
            if (_session.UserInfo.JoinedChannels.Count > 1)
            {
                _sendingBuffer =
                    ChatIRCError.BuildToManyChannelError(_cmd.ChannelName);
            }
        }