From d1793df1eda463b10107d41785ad1d7f055ed476 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Sat, 18 May 2024 14:48:12 +0500 Subject: upd: moved the bot part to a relative subfolder --- src/handlers.cpp | 85 -------------------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 src/handlers.cpp (limited to 'src/handlers.cpp') diff --git a/src/handlers.cpp b/src/handlers.cpp deleted file mode 100644 index c7820b4..0000000 --- a/src/handlers.cpp +++ /dev/null @@ -1,85 +0,0 @@ -#include "handlers.hpp" - -#include -#include -#include -#include -#include - -#include "bundle.hpp" -#include "commands/command.hpp" -#include "commands/request.hpp" -#include "commands/request_util.hpp" -#include "irc/message.hpp" -#include "localization/line_id.hpp" -#include "logger.hpp" -#include "utils/string.hpp" - -namespace bot::handlers { - void handle_private_message( - const InstanceBundle &bundle, - const command::CommandLoader &command_loader, - const irc::Message &message, - pqxx::connection &conn) { - if (utils::string::string_contains_sql_injection(message.message)) { - log::warn("PrivateMessageHandler", - "Received the message in #" + message.source.login + - " with SQL injection: " + message.message); - return; - } - - std::optional request = - command::generate_request(command_loader, message, conn); - - if (request.has_value()) { - try { - auto response = command_loader.run(bundle, request.value()); - - if (response.has_value()) { - try { - auto str = std::get(*response); - bundle.irc_client.say(message.source.login, str); - } catch (const std::exception &e) { - } - - try { - auto strs = std::get>(*response); - for (const std::string &str : strs) { - bundle.irc_client.say(message.source.login, str); - } - } catch (const std::exception &e) { - } - } - } catch (const std::exception &e) { - std::string line = - bundle.localization - .get_formatted_line(request.value(), loc::LineId::ErrorTemplate, - {e.what()}) - .value(); - - bundle.irc_client.say(message.source.login, line); - } - } - - pqxx::work work(conn); - pqxx::result channels = - work.exec("SELECT id FROM channels WHERE alias_id = " + - std::to_string(message.source.id)); - - if (!channels.empty()) { - int channel_id = channels[0][0].as(); - pqxx::result cmds = - work.exec("SELECT message FROM custom_commands WHERE name = '" + - message.message + "' AND channel_id = '" + - std::to_string(channel_id) + "'"); - - if (!cmds.empty()) { - std::string msg = cmds[0][0].as(); - - bundle.irc_client.say(message.source.login, msg); - } - } - - work.commit(); - } -} -- cgit v1.2.3