Python Bot Бот не отправляет сообщения по расписанию

Хочу сделать бота, который каждый день по 3 раза напоминает делать запись в дневнике.

Начал с простого: бот по команде "/start" должен отправлять приветственное сообщение и начинать отправлять напоминание клиентку каждую минуту. Приветственное сообщение бот отправляет нормально, в консоль напоминания тоже приходят нормально (каждую минуту), но бот напоминания не отправляет.

import telebot
import schedule
bot = telebot.TeleBot("***", parse_mode=None)  
# Функция напоминания
def remind():  
    print("Пора сделать запись!")


@bot.message_handler(commands=['start']) #  обработчик команд
def send_welcome(message):
    bot.reply_to(message, "Привет! Я бот напоминалка.") 
    bot.reply_to(message, schedule.every(1).minutes.do(remind)) # вызов напоминания
    while True:
        schedule.run_pending() # цикл для повторения напоминания

bot.infinity_polling()

Мне кажется, что я могу использовать неправильный метод телегарама, потому что "reply_to" как будто бы должен отвечать на команду строго 1 раз. Возможно, мне следует сделать отдельную функцию, которая будет смотреть по базе данных, задал ли юзер расписание или нет, и если задал, то в нужное время отправлять ему напоминание. Если так, то как тогда заставить функцию саму отправлять сообщение, без команды? C помощью Webhook?


Ответы (1 шт):

Автор решения: web developer
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)
def test_send_message():
        text = 'CI Test Message'
        tb = telebot.TeleBot(TOKEN)
        ret_msg = tb.send_message(CHAT_ID, text)
        assert ret_msg.message_id 

Чтобы сравнить время, вы можете использовать:

if current_time=='17:30:00':
test_send_message()
→ Ссылка