我有一个电报机器人,必须在特定时间向我发送时间表。
我正在使用与Telegram API配合使用的请求,由于我住在俄罗斯(我们已屏蔽Telegram),因此我需要使用代理。我使用的代理是低速的,但对我来说几秒钟就可以了。另外我正在使用datetime库获取当前时间,并检查它是否等于计划时间
有一段代码:
while True:
updates = get_updates(last_id)
if len(updates["result"]) > 0:
last_id = get_last_id(updates) + 1
if (day == 0) and (hour == 8) and (minute == 0) and (sec == 0): # for Monday
print('sending...')
send_all(stuff.monday)
print("sent")
elif (day == 1) and (hour == 8) and (minute == 0) and (sec == 0): # for Tuesday
print('sending...')
send_all(stuff.tuesday)
print("sent")
elif day == 2 and (hour == 8) and (minute == 0) and (sec == 0): # for Wednesday
if (is_even % 2 == 0):
print('sending...')
send_all(stuff.wednesday_even)
print("sent")
else:
print('sending...')
send_all(stuff.wednesday_odd)
print("sent")
它不起作用。我不明白为什么。也许还有另一种时间检查方法。这很奇怪,因为in this link作者使用相同的检查方法,而且似乎可以正常工作。
致谢。
答案 0 :(得分:0)
在这种情况下,只需使用schedule library。
它看起来像:
import schedule
schedule.every().any_day_of_the_week.at(MM:SS).do(your_routine)