PyTelegramBotApi: Как отправить сообщение с задержкой (через несколько секунд)?
Нужно что бы бот отправил пользователю сообщение с задержкой, например через 10 секунд после нажатия кнопки, как это можно реализовать?
Ответы (2 шт):
Автор решения: Simon Osipov
→ Ссылка
import time
time.sleep(10)
Используйте самый простой sleep() при обработке нажатия кнопки.
Автор решения: Vladragone
→ Ссылка
Ответ на вопрос подоспел вовремя:
import schedule
from threading import Thread
def schedule_checker():
while True:
schedule.run_pending()
sleep(1)
...
send = bot.send_message(message.chat.id,'Тевирп')
bot.register_next_step_handler(send,sending)
def sending(message):
schedule.every(10).seconds.do(sch,message).tag(message.chat.id)
def sch(message):
bot.send_message(message.chat.id,'Отправил сообщение через 10 сек')
schedule.clear(message.chat.id)
if __name__ == "__main__":
scheduleThread = Thread(target=schedule_checker)
scheduleThread.daemon = True
scheduleThread.start()
bot.polling(none_stop=False,interval=1)