private void PrepareJoining() { StatusValue = ChannelStates.Joining; NamesListenerValue = new NamesListener(Client); NamesListenerValue.NamesEnd += new NamesEndEventHandler(NamesListenerValue_NamesEnd); }
void NamesListenerValue_NamesEnd(Object sender, NamesEndEventArgs args) { if (Disposed) return; if (Status == ChannelStates.Joining) { if (args.ChannelName != Name) return; NickListValue.Clear(); foreach (String name in args.Names) { NickListValue.Add(new ChannelUser(this, name)); } //NickListValue.AddRange(args.Names); StatusValue = ChannelStates.In; if (Joined != null) Joined(this, new JoinedEventArgs(this, Client)); } }
private void PrepareChannel() { StatusValue = ChannelStates.NotIn; NickListValue = new List<ChannelUser>(); Client.JoinReceived += new JoinReceivedEventHandler(Client_JoinReceived); Client.PartReceived += new PartReceivedEventHandler(Client_PartReceived); Client.QuitReceived += new QuitReceivedEventHandler(Client_QuitReceived); Client.KickReceived += new KickReceivedEventHandler(Client_KickReceived); Client.NoticeReceived += new NoticeReceivedEventHandler(Client_NoticeReceived); Client.PrivateMessageReceived += new PrivateMessageReceivedEventHandler(Client_PrivateMessageReceived); Client.NumericReceived += new NumericReceivedEventHandler(Client_NumericReceived); Client.ModeReceived += new ModeReceivedEventHandler(Client_ModeReceived); }
void Client_PartReceived(Object sender, PartReceivedEventArgs e) { if (Disposed) return; if (e.ChannelName != Name) return; if (Status != ChannelStates.In) return; if (e.User.NickName != Client.MyUserInfo.NickName) { ChannelUser user = this[e.User.NickName]; if (UserLeave != null) UserLeave(this, new UserLeaveEventArgs(user, UserLeaveReason.Parted)); NickListValue.Remove(user); } else { StatusValue = ChannelStates.NotIn; if (Parted != null) Parted(this, new PartedEventArgs(this, Client)); NickListValue.Clear(); NamesListenerValue = null; TopicValue = ""; } }