diff options
| author | ilotterytea <iltsu@alright.party> | 2024-05-18 14:48:12 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-05-18 14:48:12 +0500 |
| commit | d1793df1eda463b10107d41785ad1d7f055ed476 (patch) | |
| tree | fd3e41c3b4a05924748ae4b762e1ae55a0bc815c /src/commands/command.hpp | |
| parent | d7a2de17e9b7931f68b5b4079b1c36866a19d343 (diff) | |
upd: moved the bot part to a relative subfolder
Diffstat (limited to 'src/commands/command.hpp')
| -rw-r--r-- | src/commands/command.hpp | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/commands/command.hpp b/src/commands/command.hpp deleted file mode 100644 index 40ec114..0000000 --- a/src/commands/command.hpp +++ /dev/null @@ -1,55 +0,0 @@ -#pragma once - -#include <memory> -#include <optional> -#include <string> -#include <variant> -#include <vector> - -#include "../bundle.hpp" -#include "request.hpp" - -namespace bot { - namespace command { - enum CommandArgument { - SUBCOMMAND, - MESSAGE, - INTERVAL, - NAME, - TARGET, - VALUE, - AMOUNT, - }; - - class Command { - public: - virtual std::string get_name() const = 0; - virtual std::variant<std::vector<std::string>, std::string> run( - const InstanceBundle &bundle, const Request &request) const = 0; - virtual schemas::PermissionLevel get_permission_level() const { - return schemas::PermissionLevel::USER; - } - virtual int get_delay_seconds() const { return 5; } - virtual std::vector<std::string> get_subcommand_ids() const { - return {}; - } - }; - - class CommandLoader { - public: - CommandLoader(); - ~CommandLoader() = default; - - void add_command(std::unique_ptr<Command> cmd); - std::optional<std::variant<std::vector<std::string>, std::string>> run( - const InstanceBundle &bundle, const Request &msg) const; - - const std::vector<std::unique_ptr<Command>> &get_commands() const { - return this->commands; - }; - - private: - std::vector<std::unique_ptr<Command>> commands; - }; - } -} |
