protected void HandleKick(IRCMessage sIRCMessage) { if (!IsAdmin(sIRCMessage.Nick, sIRCMessage.Host, AdminFlag.Operator)) { return; } if (!Rfc2812Util.IsValidChannelName(sIRCMessage.Channel)) { sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("ThisIsNotAChannelDoNotWriteInPM", sIRCMessage.Channel, sIRCMessage.ServerName)); return; } if (sIRCMessage.Info.Length < 5) { sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoName", sIRCMessage.Channel, sIRCMessage.ServerName)); return; } bool iskick = false; string kick = sIRCMessage.Info[4].ToLower(); if (!Rfc2812Util.IsValidNick(kick)) { sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NotaNickNameHasBeenSet", sIRCMessage.Channel, sIRCMessage.ServerName)); return; } if (sIRCMessage.Info.Length == 5) { if (kick == sMyNickInfo.NickStorage.ToLower()) { sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("kick", sIRCMessage.Channel, sIRCMessage.ServerName)); } else { iskick = true; KickPrivmsg = sIRCMessage.Channel; sSender.Kick(sIRCMessage.Channel, kick); } } else if (sIRCMessage.Info.Length >= 6) { if (kick == sMyNickInfo.NickStorage.ToLower()) { sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("kick", sIRCMessage.Channel, sIRCMessage.ServerName)); } else { iskick = true; KickPrivmsg = sIRCMessage.Channel; sSender.Kick(sIRCMessage.Channel, kick, sIRCMessage.Info.SplitToString(5, SchumixBase.Space)); } } if (iskick) { // Clean Thread.Sleep(5 * 1000); if (sIRCMessage.Channel.ToLower() == KickPrivmsg.ToLower() || !KickPrivmsg.IsNullOrEmpty()) { KickPrivmsg = string.Empty; } } }