Telegram机器人--如何发送消息 每日快讯

问题描述 投票:0回答:1

我正试图开发一个每天在特定时间发送消息的电报机器人,但它对我来说是行不通的。我认为问题出在时间参数上。我使用了这个类的另一个方法,它们工作得很好,但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()
python time telegram telegram-bot python-telegram-bot
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.