电报机器人-如何每天发送消息

时间:2020-05-07 06:02:39

标签: python time telegram telegram-bot python-telegram-bot

我正在尝试开发一个电报机器人,该电报机器人每天在特定时间发送消息。 但这对我不起作用。我认为问题出在时间参数上。我使用了此类的另一种方法,它们运行良好,但是run_daily无法运行。 :(

import telegram.ext
from telegram.ext import Updater
from datetime import time

updater = Updater('My Token', use_context=True)
job = updater.job_queue

def callback_minute(context: telegram.ext.CallbackContext):
    context.bot.send_message(chat_id='My Chat ID', text='One message every minute')

# job.run_repeating(callback_minute, interval=5, first=0)
job.run_daily(callback_minute,time = time(hour = 20, minute = 2, second = 00),days=(0, 1, 2, 3, 4, 5, 6))

updater.start_polling()
updater.idle()

1 个答案:

答案 0 :(得分:3)

您错误地使用了datetime对象。

首先,请注意,除非您进行修改,否则您创建的datetime对象将考虑UTC时间和日期。

对于您的问题,修改您的代码以使其看起来像这样,当您有很多时间要处理时,它对您来说更干净,它应该可以解决主要问题:

import datetime
t = datetime.time(20, 2, 00, 000000)
job.run_daily(callback_minute,t,days=(0, 1, 2, 3, 4, 5, 6),context=None,name=None)