reload funk

master
const an teen 2021-05-21 13:29:13 +03:00
parent 574a728090
commit 5a303da836
2 changed files with 24 additions and 14 deletions

View File

@ -10,12 +10,13 @@
"handler":
{
"logpath": "D:\\irc-log",
"admin": "acetone",
"help": "Доступные команды: 'лог' или 'ссылки'.",
"logpath": "D:\\irc-log",
"admin": "acetone",
"reloaded": "Конфиг перечитан.",
"help": "доступные команды: 'лог' и 'ссылки'.",
"ссылки": "лог чата: http://acetone.i2p/doc/irc-log/ # http://[324:9de3:fea4:f6ac::ace]/doc/irc-log/ # http://acetonemadzhxzi2e5tomavam6xpucdfwn2g35vrsz6izgaxv5bmuhad.onion/doc/irc-log/",
"лог": "лог чата: http://acetone.i2p/doc/irc-log/ # http://[324:9de3:fea4:f6ac::ace]/doc/irc-log/ # http://acetonemadzhxzi2e5tomavam6xpucdfwn2g35vrsz6izgaxv5bmuhad.onion/doc/irc-log/",
"ссылки": "123",
"русский": "гордо"
}
}

View File

@ -104,21 +104,30 @@ void handler()
if (!tsc_created) std::this_thread::sleep_for(std::chrono::seconds(1));
bool handled = false;
while (true) {
while (true)
{
if(tsc->to_read) { // Есть сообщения, адресованные боту
std::string msg = tsc->get_msg();
handled = false;
for(auto value: conf)
if (tsc->get_msg_nick() == conf["admin"] && (msg.find("reload") == 0)) // Reload
{
if (msg.find(value.first) != std::string::npos)
{
tsc->write_to_channel(tsc->get_msg_nick() + ", " + value.second);
handled = true;
break;
}
if (read_config()) tsc->write_to_channel(conf["reloaded"]);
else tsc->write_to_channel("Ошибка.");
}
else // Общий обработчик
{
handled = false;
for(auto value: conf)
{
if (msg.find(value.first) != std::string::npos)
{
tsc->write_to_channel(tsc->get_msg_nick() + ", " + value.second);
handled = true;
break;
}
}
if (!handled) tsc->write_to_channel(tsc->get_msg_nick() + ", " + conf["help"]);
}
if (!handled) tsc->write_to_channel(tsc->get_msg_nick() + ", " + conf["help"]);
}
if(tsc->to_raw) { // Все сообщения на канале