comp-tg/src/events/command.lua

30 lines
843 B
Lua
Raw Normal View History

2022-02-13 15:58:17 +00:00
return function(C, api, msg)
2021-04-14 06:03:25 +00:00
local cmd = C.cmds[msg.cmd]
2021-04-17 09:20:00 +00:00
local owner = msg.from.id == C.config.owner
2021-07-27 08:15:28 +00:00
local l = msg.from.language_code
msg.l = l
2021-07-26 13:12:03 +00:00
2021-04-14 06:03:25 +00:00
if cmd == nil then
2021-07-27 08:15:28 +00:00
api:send(msg, C.locale:get('error', 'inv_cmd', l))
2021-04-14 06:03:25 +00:00
elseif type(cmd.run) ~= 'function' then
2021-07-27 08:15:28 +00:00
api:send(msg, C.locale:get('error', 'cmd_run', l))
2021-04-14 06:03:25 +00:00
elseif cmd.private and not owner then
2021-07-27 08:15:28 +00:00
api:send(msg, C.locale:get('error', 'adm_cmd', l))
2021-04-14 06:03:25 +00:00
else
2022-02-13 12:21:44 +00:00
if cmd.useQArgs then msg.args = api.parseArgs(api.unparseArgs(msg.args)) end
2021-07-27 08:15:28 +00:00
msg.loc = C.locale:get('cmds', msg.cmd, l)
2021-04-14 06:03:25 +00:00
local succ, err = pcall(cmd.run, C, msg, owner)
if not succ then
2021-04-17 09:20:00 +00:00
print(err)
local cid = C.config.owner
2021-04-14 06:03:25 +00:00
api:forward(cid, msg.chat.id, msg.message_id, false)
api:send(cid, err)
api:reply(msg, C.locale:get('error', 'not_suc', l))
2021-04-14 06:03:25 +00:00
end
end
end