Exemplo n.º 1
0
        public static void server_OnUserDisconnected(object sender, UserDisconnectedEventArgs e)
        {
            if (e.Client != null && e != null)
            {
                if (!Server.Clients.Contains(e.Client))
                    return;

                ProcessOutput(e.Client.NickName + " has disconnected!");

                foreach (KeyValuePair<string, Channel> chan in e.Client.Channels)
                {
                    Handler.SendToChannel(chan.Value, MessageGeneration.GenerateQuit(chan.Key, e.Client.NickName, "Ping Timeout: 10 seconds."), e.Client);
                    chan.Value.Clients.Remove(e.Client.NickName);
                    if (chan.Value.OpUsers.ContainsKey(e.Client.NickName))
                        chan.Value.OpUsers.Remove(e.Client.NickName);
                }

                Server.Clients.Remove(e.Client);
            }
        }
Exemplo n.º 2
0
 protected virtual void OnUserDisconnected(UserDisconnectedEventArgs e)
 {
     EventHandler<UserDisconnectedEventArgs> handler = UserDisconnected;
     if (handler != null)
         handler(this, e);
 }