Python Telebot。如果用户什么都不做怎么发送消息?

时间:2020-09-11 16:08:34

标签: python telegram-bot python-telegram-bot telegram-api

我是电报机器人构建的新手,问题是,如果用户在12个小时内不执行任何操作,怎么可能向用户发送消息,而在用户继续不执行操作时又发送一条消息给用户?但是,例如,如果他单击消息4中的按钮,则会跳过消息5。

if call.data == 'GetLesson1':
        bot.send_message(call.message.chat.id, mg.third_message, reply_markup=kb.check_exercise())
        push_data.append(call.data)
if call.data == 'Exercise':
        bot.send_message(call.message.chat.id, mg.sixth_message, reply_markup=kb.check_exercise())

time.sleep(54000)

if call.data is None:
        bot.send_message(call.message.chat.id, mg.fourth_message, reply_markup=kb.check_exercise())

time.sleep(54000)

if call.data is None:
        bot.send_message(call.message.chat.id, mg.fives_message, reply_markup=kb.check_exercise())






1 个答案:

答案 0 :(得分:0)

您需要阅读JobQueue中可用的python-telegram-bot

这是一个示例,如何在一分钟内发送消息:

def callback_minute(context: telegram.ext.CallbackContext):
    context.bot.send_message(chat_id='@examplechannel', 
                             text='One message every minute')

job_minute = j.run_repeating(callback_minute, interval=60, first=0)

在该回调中,您可以检查用户从那时开始是否发送任何消息,或者甚至在收到新消息时完全删除此作业(因此无需检查)。

job_minute.schedule_removal()

请参阅文档中的more examples