예제 #1
0
		internal IrcNickEventArgs(IrcMessage message)
			: base(message)
		{
			var peer = message.From as IrcPeer;
			this.OldNickname = peer != null ? peer.Nickname : null;
			this.NewNickname = message.Parameters.Count > 0 ? message.Parameters[0] : null;
		}
예제 #2
0
 internal CtcpEventArgs(IrcMessage message)
     : base(message)
 {
     this.From = message.From as IrcPeer;
     this.To = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.Command = message.Parameters.Count > 1 ? CtcpCommand.Parse(message.Parameters[1]) : null;
     this.IsResponse = message.Command == "NOTICE";
 }
예제 #3
0
파일: IrcEventArgs.cs 프로젝트: neem/Nilas
 public IrcChannelEventArgs(IrcMessage message, string ownNick)
     : base(message)
 {
     this.Who = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.Text = message.Parameters.Count > 1 ? message.Parameters[1] : null;
     this.IsSelf = this.Who != null ? string.Compare(this.Who.Nickname, ownNick, StringComparison.OrdinalIgnoreCase) == 0 : false;
 }
예제 #4
0
 private void OnQuit(IrcMessage message)
 {
     this.RaiseEvent(this.UserQuit, new IrcQuitEventArgs(message));
 }
예제 #5
0
 private void OnCtcpCommand(IrcMessage message)
 {
     this.RaiseEvent(this.CtcpCommandReceived, new CtcpEventArgs(message));
 }
예제 #6
0
파일: IrcEventArgs.cs 프로젝트: neem/Nilas
 public IrcDialogEventArgs(IrcMessage message)
     : base(message)
 {
     this.From = message.From as IrcPeer;
     this.To = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.Text = message.Parameters.Count > 1 ? message.Parameters[1] : null;
 }
예제 #7
0
 internal IrcUserModeEventArgs(IrcMessage message)
     : base(message)
 {
     this.Modes = message.Parameters.Count > 1 ? IrcUserMode.ParseModes(message.Parameters.Skip(1)) : null;
 }
예제 #8
0
 internal IrcQuitEventArgs(IrcMessage message)
     : base(message)
 {
     this.Who = message.From as IrcPeer;
     this.Text = message.Parameters.Count > 0 ? message.Parameters[0] : null;
 }
예제 #9
0
 internal IrcInviteEventArgs(IrcMessage message)
     : base(message)
 {
     this.From = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 1 ? message.Parameters[1] : null;
 }
예제 #10
0
 internal IrcEventArgs(IrcMessage message)
 {
     this.Message = message;
 }
예제 #11
0
 internal IrcJoinEventArgs(IrcMessage message)
     : base(message)
 {
     this.Who     = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
 }
예제 #12
0
 internal IrcQuitEventArgs(IrcMessage message)
     : base(message)
 {
     this.Who  = message.From as IrcPeer;
     this.Text = message.Parameters.Count > 0 ? message.Parameters[0] : null;
 }
예제 #13
0
파일: IrcEventArgs.cs 프로젝트: neem/Nilas
 public IrcUserModeEventArgs(IrcMessage message, string ownNickname)
     : base(message)
 {
     this.Who = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.IsSelf = this.Who != null && this.Who.Type == IrcTargetType.Nickname &&
         string.Compare(this.Who.Name, ownNickname, StringComparison.OrdinalIgnoreCase) == 0;
     this.Modes = message.Parameters.Count > 1 ? IrcUserMode.ParseModes(message.Parameters.Skip(1)) : null;
 }
예제 #14
0
파일: IrcEventArgs.cs 프로젝트: neem/Nilas
 public IrcNickEventArgs(IrcMessage message, string ownNickname)
     : base(message)
 {
     var peer = message.From as IrcPeer;
     this.OldNickname = peer != null ? peer.Nickname : null;
     this.NewNickname = message.Parameters.Count > 0 ? message.Parameters[0] : null;
     this.IsSelf = string.Compare(this.OldNickname, ownNickname, StringComparison.OrdinalIgnoreCase) == 0;
 }
예제 #15
0
파일: IrcEventArgs.cs 프로젝트: neem/Nilas
 public IrcKickEventArgs(IrcMessage message, string ownNickname)
     : base(message)
 {
     this.Kicker = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.KickeeNickname = message.Parameters.Count > 1 ? message.Parameters[1] : null;
     this.Text = message.Parameters.Count > 2 ? message.Parameters[2] : null;
     this.IsSelfKicker = this.Kicker != null &&
         string.Compare(this.Kicker.Nickname, ownNickname, StringComparison.OrdinalIgnoreCase) == 0;
     this.IsSelfKicked = string.Compare(this.KickeeNickname, ownNickname, StringComparison.OrdinalIgnoreCase) == 0;
 }
예제 #16
0
 internal IrcEventArgs(IrcMessage message)
 {
     this.Message = message;
 }
예제 #17
0
        internal IrcInfoEventArgs(IrcMessage message)
            : base(message)
        {
            int code;
            if (int.TryParse(message.Command, out code))
            {
                this.Code = (IrcCode)code;
            }

            this.Text = message.Parameters.Count > 1 ? string.Join(" ", message.Parameters.Skip(1).ToArray()) : null;
            this.IsError = (int)this.Code >= 400;
        }
예제 #18
0
 internal IrcInviteEventArgs(IrcMessage message)
     : base(message)
 {
     this.From    = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 1 ? message.Parameters[1] : null;
 }
예제 #19
0
 internal IrcKickEventArgs(IrcMessage message)
     : base(message)
 {
     this.Kicker = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.KickeeNickname = message.Parameters.Count > 1 ? message.Parameters[1] : null;
     this.Text = message.Parameters.Count > 2 ? message.Parameters[2] : null;
 }
예제 #20
0
 internal IrcUserModeEventArgs(IrcMessage message)
     : base(message)
 {
     this.Modes = message.Parameters.Count > 1 ? IrcUserMode.ParseModes(message.Parameters.Skip(1)) : null;
 }
예제 #21
0
 internal IrcTopicEventArgs(IrcMessage message)
     : base(message)
 {
     this.Who = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.Text = message.Parameters.Count > 1 ? message.Parameters[1] : null;
 }
예제 #22
0
 private void OnTopic(IrcMessage message)
 {
     this.RaiseEvent(this.TopicChanged, new IrcTopicEventArgs(message));
 }
예제 #23
0
 internal IrcChannelModeEventArgs(IrcMessage message)
     : base(message)
 {
     this.Who = message.From as IrcPeer;
     this.Channel = message.Parameters.Count > 0 ? new IrcTarget(message.Parameters[0]) : null;
     this.Modes = message.Parameters.Count > 1 ? IrcChannelMode.ParseModes(message.Parameters.Skip(1)) : null;
 }
예제 #24
0
 private void OnInvite(IrcMessage message)
 {
     this.RaiseEvent(this.Invited, new IrcInviteEventArgs(message));
 }