1

我是电报机器人建设的新手,问题是,如果他 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())






4

1 回答 1

0

您需要阅读python-telegram-botJobQueue中提供的相关信息。

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

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()

查看文档中的更多示例

于 2020-09-13T12:57:57.313 回答