private void KickEventHandler(IRCEvent e) { IRCKickEvent kickEvent = (IRCKickEvent)e; string victimNick = kickEvent.Victim.Nick; string properChannelName = "#" + m_ircChannelName; LogText("[" + kickEvent.Agressor.Nick + " kicked " + victimNick + " from " + kickEvent.Channel + "] " + kickEvent.Reason); if (kickEvent.Channel == properChannelName) { if (victimNick == m_ircNick) { // We got kicked. // Try to re-connect to the game channel m_reconnectionAttempts = 0; SetState(eState.failed); } else { // Someone else got kicked PostOtherPlayerLeftGameChannel(victimNick); } OutputText("[" + kickEvent.Agressor.Nick + " kicked " + m_ircNick + " from game] " + kickEvent.Reason); } }
private void OnIRCUserKicked(string[] tokens, string message) { IRCKickEvent kick = new IRCKickEvent(); kick.Agressor = IRCUser.GetUserFromAddress(tokens[0].Substring(1)); kick.Channel = tokens[2]; kick.Victim = new IRCUser(); kick.Victim.Nick = tokens[3]; kick.Reason = (message == tokens[3]) ? "" : message; DispatchEvent(kick); }