summaryrefslogtreecommitdiff
path: root/bot
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-04-09 02:03:18 +0400
committerilotterytea <iltsu@alright.party>2025-04-09 02:03:18 +0400
commitb89a39dcda1f31e1105768724c0efb36c612bebe (patch)
tree99dc8aaa6881bfa0ae83a41cc969448887ba2d8e /bot
parent66375efc2b5067dd2902be38906de2e2a6cddeae (diff)
upd: use parse_lua_response for lua command execution
Diffstat (limited to 'bot')
-rw-r--r--bot/src/commands/lua.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/bot/src/commands/lua.cpp b/bot/src/commands/lua.cpp
index 34776b1..6c20b15 100644
--- a/bot/src/commands/lua.cpp
+++ b/bot/src/commands/lua.cpp
@@ -317,24 +317,8 @@ namespace bot::command::lua {
Response LuaCommand::run(const InstanceBundle &bundle,
const Request &request) const {
- sol::object response = this->handle(request.as_lua_table(this->luaState));
-
- if (response.is<std::string>()) {
- return {response.as<std::string>()};
- } else if (response.is<sol::table>()) {
- sol::table tbl = response.as<sol::table>();
- std::vector<std::string> items;
-
- for (auto &kv : tbl) {
- sol::object value = kv.second;
- if (value.is<std::string>()) {
- items.push_back(value.as<std::string>());
- }
- }
-
- return items;
- }
-
- return {};
+ sol::table r = request.as_lua_table(this->luaState);
+ sol::object response = this->handle(r);
+ return parse_lua_response(r, response);
}
} \ No newline at end of file