Telegram bot - как отправлять сообщения ежедневно - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь разработать телеграмм-бота, который отправляет сообщение каждый день в определенное c время. но у меня это не работает. Думаю, проблема во времени. Я использовал другой метод этого класса, и они работали хорошо, но 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 Ответ

3 голосов
/ 16 мая 2020

вы неправильно используете объект datetime. *

Что касается вашей проблемы, измените свой код, чтобы он выглядел так, он будет более понятным для вас, когда у вас будет много раз, и он должен решить основную проблему:

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)
...