public void Handle(IncomingMessage msg) { IRCServer server = msg.Server; string ourNick = server.Nick; if (msg.Command.Equals("NICK")) { string whoChanging = msg.Sender; string changingTo = msg.Target; if (whoChanging.Equals(ourNick)) { server.Nick = changingTo; server.SetAttemptNickChange(false); } else { // update user nick list } } else if (msg.Command.Equals("ERROR")) { server.Dispose(); } else { string raw = msg.Raw; switch (msg.Command) { // nick change case "433": if (server.Connected) { // are we attempting a nick name change? if (server.IsAttemptNickChange()) { server.Nick = server.LastNick; server.SetAttemptNickChange(false); } } else { string nick; if (server.Nick.Equals(server.AltNick)) { nick = server.AltNick + 1; } else { nick = server.AltNick; } server.Nick = nick; } break; } } }
public void HandleCommand(IRCServer server, string command, IncomingMessage msg) { if (msg.HasMessage()) { server.Write("QUIT :" + msg.Message); } else { server.Write("QUIT :Bye!"); } server.Flush(); server.Dispose(); }
public void Handle(IncomingMessage msg) { IRCServer server = msg.Server; if (msg.Command.Equals("001")) { foreach (IRCChannel chan in server.GetChannels()) { server.Write("JOIN " + chan.Channel); } server.Write("PRIVMSG NICKSERV :IDENTIFY " + server.Pass); server.Flush(); server.Connected = true; } else if (msg.Raw.Contains("No more connections allowed from your host via this connect class")) { server.Dispose(); } }