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