From 52a6af6a2e5d64561a6a8a15c7e079fe46ffaa85 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Wed, 16 Apr 2025 15:50:08 +0500 Subject: feat: !cmd in lua --- bot/src/commands/command.cpp | 2 - bot/src/modules/custom_command.hpp | 96 -------------------------------------- 2 files changed, 98 deletions(-) delete mode 100644 bot/src/modules/custom_command.hpp (limited to 'bot') diff --git a/bot/src/commands/command.cpp b/bot/src/commands/command.cpp index 92ae45b..fa266de 100644 --- a/bot/src/commands/command.cpp +++ b/bot/src/commands/command.cpp @@ -13,7 +13,6 @@ #include #include "../bundle.hpp" -#include "../modules/custom_command.hpp" #include "../modules/event.hpp" #include "../modules/notify.hpp" #include "../modules/timer.hpp" @@ -28,7 +27,6 @@ namespace bot { CommandLoader::CommandLoader() { this->add_command(std::make_unique()); this->add_command(std::make_unique()); - this->add_command(std::make_unique()); this->add_command(std::make_unique()); this->add_command(std::make_unique()); diff --git a/bot/src/modules/custom_command.hpp b/bot/src/modules/custom_command.hpp deleted file mode 100644 index 9fd1429..0000000 --- a/bot/src/modules/custom_command.hpp +++ /dev/null @@ -1,96 +0,0 @@ -#pragma once - -#include -#include - -#include "../bundle.hpp" -#include "../commands/command.hpp" -#include "../commands/response_error.hpp" - -namespace bot { - namespace mod { - class CustomCommand : public command::Command { - std::string get_name() const override { return "scmd"; } - - schemas::PermissionLevel get_permission_level() const override { - return schemas::PermissionLevel::MODERATOR; - } - - std::vector get_subcommand_ids() const override { - return {"new", "remove"}; - } - - command::Response run(const InstanceBundle &bundle, - const command::Request &request) const override { - if (!request.subcommand_id.has_value()) { - throw ResponseException( - request, bundle.localization, command::SUBCOMMAND); - } - - const std::string &subcommand_id = request.subcommand_id.value(); - - if (!request.message.has_value()) { - throw ResponseException( - request, bundle.localization, command::CommandArgument::NAME); - } - - const std::string &message = request.message.value(); - std::vector s = utils::string::split_text(message, ' '); - - std::string name = s[0]; - s.erase(s.begin()); - - pqxx::work work(request.conn); - pqxx::result cmds = work.exec( - "SELECT id FROM custom_commands WHERE name = '" + name + - "' AND channel_id = " + std::to_string(request.channel.get_id())); - - if (subcommand_id == "new") { - if (!cmds.empty()) { - throw ResponseException( - request, bundle.localization, name); - } - - if (s.empty()) { - throw ResponseException( - request, bundle.localization, - command::CommandArgument::MESSAGE); - } - - std::string m = utils::string::str(s.begin(), s.end(), ' '); - - work.exec( - "INSERT INTO custom_commands(channel_id, name, message) VALUES " - "(" + - std::to_string(request.channel.get_id()) + ", '" + name + - "', '" + m + "')"); - work.commit(); - - return command::Response( - bundle.localization - .get_formatted_line(request, loc::LineId::CustomcommandNew, - {name}) - .value()); - } else if (subcommand_id == "remove") { - if (cmds.empty()) { - throw ResponseException( - request, bundle.localization, name); - } - - work.exec("DELETE FROM custom_commands WHERE id = " + - std::to_string(cmds[0][0].as())); - work.commit(); - - return command::Response( - bundle.localization - .get_formatted_line( - request, loc::LineId::CustomcommandDelete, {name}) - .value()); - } - - throw ResponseException( - request, bundle.localization); - } - }; - } -} -- cgit v1.2.3