如何解决同时使用 scedule 和 Telebot
我正在使用使用这些库的程序:
- 电话机器人
- 日程
我想像这样安排程序每隔一定时间执行函数:
from time import sleep
import schedule,telebot
token = 'MY TOKEN'
bot = telebot.TeleBot(token)
def check():
@bot.message_handler(commands=['start'])
def send_ms(message):
bot.send_message(message.chat.id,'Welcome '+str(message.from_user.first_name)+'!!')
mss = 'Welcome to my bot!'
bot.send_message(message.chat.id,mss)
def pr():
print('Hello World')
schedule.every().second.do(pr)
schedule.every().second.do(check)
如果我在此代码下方放置 bot.polling() 而不是此行,它将被卡在 无限循环。
我可以这样做
while True:
schedule.run_pending()
sleep(1)
或者这个
bot.polling()
无论哪种方式,它都会陷入无限循环并忽略 下面的所有代码! 我该如何解决这个问题!
解决方法
你可以试试simple_scheduler。 由于作业并行运行,因此不会被另一个作业阻塞。 以下代码应该可以完成这项工作。
// from this:
measures.map(...).toList();
// to this:
measures(context).map(...).toList();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。