diff options
Diffstat (limited to 'bot/src/modules/lua.hpp')
| -rw-r--r-- | bot/src/modules/lua.hpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bot/src/modules/lua.hpp b/bot/src/modules/lua.hpp new file mode 100644 index 0000000..b60850a --- /dev/null +++ b/bot/src/modules/lua.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include <string> + +#include "bundle.hpp" +#include "commands/command.hpp" +#include "commands/lua.hpp" +#include "commands/response_error.hpp" + +namespace bot::mod { + class LuaExecution : public command::Command { + std::string get_name() const override { return "lua"; } + + int get_delay_seconds() const override { return 1; } + + command::Response run(const InstanceBundle &bundle, + const command::Request &request) const override { + if (!request.message.has_value()) { + throw ResponseException<ResponseError::NOT_ENOUGH_ARGUMENTS>( + request, bundle.localization, command::CommandArgument::VALUE); + } + + std::string script = request.message.value(); + + return command::lua::run_safe_lua_script(request, bundle, script); + } + }; +}
\ No newline at end of file |
