public void HandleMessage(IRCMessage sIRCMessage)
{
var sMyNickInfo = sIrcBase.Networks[sIRCMessage.ServerName].sMyNickInfo;
var sSendMessage = sIrcBase.Networks[sIRCMessage.ServerName].sSendMessage;
var sMyChannelInfo = sIrcBase.Networks[sIRCMessage.ServerName].sMyChannelInfo;
if(sIRCMessage.Info.Length < 5)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("No1Value", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(!sMyChannelInfo.FSelect("message") || !sMyChannelInfo.FSelect("message", sIRCMessage.Channel))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoMessageFunction", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sIRCMessage.Info[4].ToLower() == "channel")
{
if(sIRCMessage.Info.Length < 6)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoChannelName", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sIRCMessage.Info.Length < 7)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoName", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sIRCMessage.Info.Length < 8)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoMessage", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(!Rfc2812Util.IsValidChannelName(sIRCMessage.Info[5]))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NotaChannelHasBeenSet", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(!Rfc2812Util.IsValidNick(sIRCMessage.Info[6]))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NotaNickNameHasBeenSet", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sMyNickInfo.NickStorage.ToLower() == sIRCMessage.Info[6].ToLower())
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("ICantLeftAMessageForMyself", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
SchumixBase.DManager.Insert("`message`(ServerId, ServerName, Name, Channel, Message, Wrote, UnixTime)", sIRCMessage.ServerId, sIRCMessage.ServerName, sUtilities.SqlEscape(sIRCMessage.Info[6].ToLower()), sUtilities.SqlEscape(sIRCMessage.Info[5].ToLower()), sUtilities.SqlEscape(sIRCMessage.Info.SplitToString(7, SchumixBase.Space)), sIRCMessage.SqlEscapeNick, sUtilities.UnixTime);
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("message/channel", sIRCMessage.Channel, sIRCMessage.ServerName));
}
else
{
if(sIRCMessage.Info.Length < 5)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoName", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sIRCMessage.Info.Length < 6)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoMessage", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(!Rfc2812Util.IsValidNick(sIRCMessage.Info[4]))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NotaNickNameHasBeenSet", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sMyNickInfo.NickStorage.ToLower() == sIRCMessage.Info[4].ToLower())
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("ICantLeftAMessageForMyself", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
SchumixBase.DManager.Insert("`message`(ServerId, ServerName, Name, Channel, Message, Wrote, UnixTime)", sIRCMessage.ServerId, sIRCMessage.ServerName, sUtilities.SqlEscape(sIRCMessage.Info[4].ToLower()), sIRCMessage.Channel.ToLower(), sUtilities.SqlEscape(sIRCMessage.Info.SplitToString(5, SchumixBase.Space)), sIRCMessage.SqlEscapeNick, sUtilities.UnixTime);
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("message", sIRCMessage.Channel, sIRCMessage.ServerName));
}
}