public void HandleWeather(IRCMessage sIRCMessage)
{
var sSendMessage = sIrcBase.Networks[sIRCMessage.ServerName].sSendMessage;
var text = sLManager.GetCommandTexts("weather", sIRCMessage.Channel, sIRCMessage.ServerName);
if(text.Length < 5)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if(sIRCMessage.Info.Length < 5)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoCountryName", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if(sIRCMessage.Info.Length < 6 && sIRCMessage.Info[4].ToLower() != "home")
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoCityName", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
bool home = false;
string language = string.Empty;
switch(sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName))
{
case "huHU":
language = "HU";
break;
case "enUS":
case "enGB":
language = "US";
break;
default:
language = "US";
break;
}
if(sIRCMessage.Info[4].ToLower() == "home")
home = true;
try
{
ForecastData source = null;
string country = sIRCMessage.Info[4];
WApi wApi = new WApi(WeatherConfig.Key);
if(home)
source = wApi.GetForecast(WeatherConfig.Country, WeatherConfig.City, language);
else
source = wApi.GetForecast(country, sIRCMessage.Info.SplitToString(5, SchumixBase.Space).Trim(), language);
var day = source.Forecast.Txt_Forecast.ForecastDay[0].FctText_Metric;
var night = source.Forecast.Txt_Forecast.ForecastDay[1].FctText_Metric;
if(home)
sSendMessage.SendChatMessage(sIRCMessage, text[0]);
else
sSendMessage.SendChatMessage(sIRCMessage, text[1], sIRCMessage.Info[4] + ", " + sIRCMessage.Info.SplitToString(5, SchumixBase.Space).Trim());
sSendMessage.SendChatMessage(sIRCMessage, text[2], day);
sSendMessage.SendChatMessage(sIRCMessage, text[3], night);
}
catch
{
sSendMessage.SendChatMessage(sIRCMessage, text[4]);
}
}