Пример #1
0
        public bool InChannel(string channelName)
        {
            if (_channels.ContainsKey(channelName))
            {
                if (_channels[channelName].Joined)
                {
                    return(true);
                }

                ChannelRemoved.Fire(this, new ChannelEventArgs(_channels[channelName]));
                if (!_channels.Remove(channelName))
                {
                    Debug.WriteLine("Failed to remove channel");
                }
                //TODO: Is this all that needs to be done?
            }
            return(false);
        }
Пример #2
0
        private void Listener_OnPart(User user, string channel, string reason)
        {
            var chan = _channels[channel];

            if (chan == null)
            {
                return;
            }

            if (IsMe(user))
            {
                PartSelf.Fire(this, new PartEventArgs(user, chan, String.Empty));
                return;
            }

            Part.Fire(this, new PartEventArgs(user, chan, reason));
            chan.UserPart(user, reason);

            _channels.Remove(chan.Name);
            ChannelRemoved.Fire(this, new ChannelEventArgs(chan));

            Connection.Sender.Names(channel);
        }
Пример #3
0
 protected virtual void OnChannelRemoved(Channel channel, User user, Server server)
 {
     ChannelRemoved?.Invoke(this, new ChannelRemovedEvent(channel, user, server, _client));
 }