diff options
| author | ilotterytea <iltsu@alright.party> | 2025-07-02 03:33:15 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-07-02 03:33:15 +0500 |
| commit | 2ca9b42d1a352e7a3b1d933bf0f424ef9ab705d2 (patch) | |
| tree | e11869ab6b349d8791bb02227f6b7a98b1b16758 | |
| parent | 94fede466d8d77f53e5c49215fc8ad99a30610f9 (diff) | |
upd: use feature_to_str in !set
| -rw-r--r-- | bot/src/commands/lua.cpp | 10 | ||||
| -rw-r--r-- | luamods/settings.lua | 10 |
2 files changed, 15 insertions, 5 deletions
diff --git a/bot/src/commands/lua.cpp b/bot/src/commands/lua.cpp index a8db207..2c1b176 100644 --- a/bot/src/commands/lua.cpp +++ b/bot/src/commands/lua.cpp @@ -401,6 +401,16 @@ namespace bot::command::lua { } }); + state->set_function("feature_to_str", [state](const int &feature) { + auto f = schemas::channelfeature_to_string( + static_cast<schemas::ChannelFeature>(feature)); + if (f.has_value()) { + return sol::make_object(*state, *f); + } else { + return sol::make_object(*state, sol::lua_nil); + } + }); + state->set_function("event_type_to_str", [](const int &v) { return schemas::event_type_to_string(v); }); diff --git a/luamods/settings.lua b/luamods/settings.lua index 1ac037a..a5da023 100644 --- a/luamods/settings.lua +++ b/luamods/settings.lua @@ -112,13 +112,13 @@ Available languages at the moment: **english**, **russian**. return l10n_custom_formatted_line_request(request, lines, "locale_not_exists", { value }) end - db_execute('UPDATE channel_preferences SET locale = $1 WHERE channel_id = $2', { value, request.channel.id }) + db_execute('UPDATE channel_preferences SET locale = $1 WHERE id = $2', { value, request.channel.id }) request['channel_preference']['language'] = value return l10n_custom_formatted_line_request(request, lines, "set_locale", {}) elseif request.subcommand_id == "prefix" then value = value:gsub(" ", " ") - db_execute('UPDATE channel_preferences SET prefix = $1 WHERE channel_id = $2', { value, request.channel.id }) + db_execute('UPDATE channel_preferences SET prefix = $1 WHERE id = $2', { value, request.channel.id }) return l10n_custom_formatted_line_request(request, lines, "set_prefix", { value }) elseif request.subcommand_id == "feature" then local feature = str_to_feature(value) @@ -133,13 +133,13 @@ Available languages at the moment: **english**, **russian**. if array_contains(channel_features, value) then line_id = "feature_disabled" - query = 'UPDATE channel_preferences SET features = array_remove(features, $1) WHERE channel_id = $2' + query = 'UPDATE channel_preferences SET ' .. feature_to_str(feature) .. ' = 0 WHERE id = $1' else line_id = "feature_enabled" - query = 'UPDATE channel_preferences SET features = array_append(features, $1) WHERE channel_id = $2' + query = 'UPDATE channel_preferences SET ' .. feature_to_str(feature) .. ' = 1 WHERE id = $1' end - db_execute(query, { feature, request.channel.id }) + db_execute(query, { request.channel.id }) return l10n_custom_formatted_line_request(request, lines, line_id, { value }) end |
