コード例 #1
0
        public override void CheckRequest()
        {
            base.CheckRequest();

            if (_session.UserInfo.NickName != _setckeyCmd.NickName)
            {
                _errorCode = Entity.Structure.ChatError.Parse;
                return;
            }

            if (!_session.UserInfo.IsJoinedChannel(_setckeyCmd.ChannelName))
            {
                _errorCode = Entity.Structure.ChatError.Parse;
                return;
            }

            if (!ChatChannelManager.GetChannel(_setckeyCmd.ChannelName, out _channel))
            {
                _errorCode = Entity.Structure.ChatError.Parse;
                return;
            }

            if (!_channel.GetChannelUser(_session, out _user))
            {
                _errorCode = Entity.Structure.ChatError.Parse;
                return;
            }
        }
コード例 #2
0
        private void GetChannelUsersInfo()
        {
            ChatChannel channel;

            if (!ChatChannelManager.GetChannel(_request.ChannelName, out channel))
            {
                _errorCode = ChatError.NoSuchChannel;
                return;
            }
            _resultChannel = channel;
        }
コード例 #3
0
 protected override void DataOperation()
 {
     base.DataOperation();
     _user = new ChatChannelUser(_session);
     if (ChatChannelManager.GetChannel(_request.ChannelName, out _channel))
     {
         //join
         JoinChannel();
     }
     else
     {
         //create
         CreateChannel();
     }
 }
コード例 #4
0
 public override void CheckRequest()
 {
     base.CheckRequest();
     //can not find any user
     if (!_channel.GetChannelUserBySession(_session, out _user))
     {
         _errorCode     = ChatError.IRCError;
         _sendingBuffer = ChatIRCError.BuildNoSuchNickError();
         return;
     }
     if (!ChatChannelManager.GetChannel(_cmd.ChannelName, out _channel))
     {
         _errorCode     = ChatError.IRCError;
         _sendingBuffer = ChatIRCError.BuildNoSuchChannelError(_cmd.ChannelName);
     }
 }
コード例 #5
0
        private void GetChannelUsersInfo()
        {
            ChatChannelBase channel;

            if (!ChatChannelManager.GetChannel(_cmd.Name, out channel))
            {
                _errorCode = ChatError.IRCError;
                return;
            }
            _sendingBuffer = "";

            foreach (var user in channel.Property.ChannelUsers)
            {
                _sendingBuffer +=
                    ChatReply.BuildWhoReply(
                        channel.Property.ChannelName,
                        user.UserInfo, user.GetUserModes());
            }
        }