/// <summary>
        ///     <para>This event is called internally when a use sends QUIT</para>
        /// </summary>
        /// <param name="nick">Nickname of user who quit</param>
        /// <param name="message">Message associated with quit ('reason')</param>
        protected virtual void OnQuit(string nick, string message)
        {
            foreach (Channel c in Channels)
            {
                c.Users.Remove(nick);
            }

            QuitEvent.Raise(this, new QuitEventArgs(nick, message));
        }
Esempio n. 2
0
        protected virtual void OnQuit(string source, string message)
        {
            string sourceNick = source.GetNickFromSource();

            lock (_channels)
            {
                foreach (var c in _channels.Values.Where(x => x.HasUser(sourceNick)))
                {
                    c.RemoveUser(sourceNick);
                }
            }

            QuitEvent.Raise(this, new QuitEventArgs(source, message));
        }