protected override void CheckRequest()
        {
            base.CheckRequest();

            if (_session.UserInfo.JoinedChannels.Count == 0)
            {
                _errorCode     = ChatError.IRCError;
                _sendingBuffer = ChatIRCError.BuildNoSuchChannelError(_request.ChannelName);
                return;
            }

            if (!_session.UserInfo.GetJoinedChannelByName(_request.ChannelName, out _channel))
            {
                _errorCode     = ChatError.IRCError;
                _sendingBuffer = ChatIRCError.BuildNoSuchChannelError(_request.ChannelName);
                return;
            }

            if (!_channel.GetChannelUserBySession(_session, out _user))
            {
                _errorCode     = ChatError.Parse;
                _sendingBuffer = ChatIRCError.BuildNoSuchNickError();
                return;
            }
        }
예제 #2
0
        protected override void CheckRequest()
        {
            base.CheckRequest();

            if (!_session.UserInfo.GetJoinedChannelByName(_request.ChannelName, out _channel))
            {
                _errorCode = ChatError.Parse;
                return;
            }
            if (!_channel.GetChannelUserBySession(_session, out _user))
            {
                _errorCode = ChatError.Parse;
                return;
            }
        }
예제 #3
0
        protected override void CheckRequest()
        {
            base.CheckRequest();

            if (!ChatChannelManager.GetChannel(_request.ChannelName, out _channel))
            {
                _errorCode     = ChatError.NoSuchChannel;
                _sendingBuffer = ChatIRCError.BuildNoSuchChannelError(_request.ChannelName);
            }

            //can not find any user
            if (!_channel.GetChannelUserBySession(_session, out _user))
            {
                _errorCode     = ChatError.NoSuchNick;
                _sendingBuffer = ChatIRCError.BuildNoSuchNickError();
                return;
            }
        }