Я хочу послать автоматические сообщения ответа в соответствии Телеграмма-CLI с использованием модифицированного скрипта Lua, как показано ниже:Отправить несколько ответных сообщений в телеграмме-кли (Lua скрипт)
function ok_cb(extra, success, result)
end
function wait(seconds)
local start = os.time()
repeat until os.time() > start + seconds
end
function on_msg_receive (msg)
if msg.out then
return
end
if (string.find(msg.text, 'Hi there!')) then
wait(1)
send_msg (msg.from.print_name, 'Hello', ok_cb, false)
else
--do nothing
end
end
Когда я побежал сценарий выше, если бы я получил сообщение «Привет!», сценарий будет ждать 1 секунду, затем он отправит ответ с сообщением «Привет».
Скрипт отлично работает, когда я устанавливаю только одно ответное сообщение. Однако, когда я изменил сценарий, чтобы добавить другое ответное сообщение, как показано ниже, результат не такой, какой я ожидал.
function ok_cb(extra, success, result)
end
function wait(seconds)
local start = os.time()
repeat until os.time() > start + seconds
end
function on_msg_receive (msg)
if msg.out then
return
end
if (string.find(msg.text, 'Hi there!')) then
wait(1)
send_msg (msg.from.print_name, 'Hello', ok_cb, false)
wait(3) --new command
send_msg (msg.from.print_name, 'World!', ok_cb, false) --new command
else
--do nothing
end
end
Что я ожидаю от модифицированного сценария, когда получил «Привет!» сообщение, сценарий будет ждать 1 секунду, а затем отправить сообщение «Привет», подождать еще 3 секунды, наконец, отправить «Мир!». сообщение.
Что действительно произошло, сценарий будет ждать 3 секунды, а затем отправить как «Привет», так и «Мир!». в то же время.
У кого-нибудь есть подсказки об этом? спасибо заранее