微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我是电报机器人构建的新手,问题是,如果用户在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,mg.fives_message,reply_markup=kb.check_exercise())






解决方法

您需要阅读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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。