Как реализовать автоматические напоминания в PyTelegramBotAPI, если данные о событиях находятся в базе данных?

У меня есть база данных, в которой записано название события, его дата и время. Необходимо отправлять напоминания пользователю:

  1. Когда создаётся напоминание (его создает 3-е лицо)
  2. За неделю до события
  3. За сутки до события

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

Автор решения: resident

Можно задействовавать систему мониторинга Grafana + Prometheus или Zabbix, если конечно они у вас есть.

  1. Нужно написать запрос в базу для получения количества событий например и если количество напоминаний изменилось, то уже делать запрос за последними новыми записями в базу и отправляйте их пользователю через вашего бота.
  2. Тут вам нужно опрашивать все ваши активные напоминания(я бы в базе у каждого напоминания добавил поле status, которое отрображает активно ли напоминание или нет и значения по типу True/False или 1/0) и вычислять через сколько оно сработает, например: note_date - current_datetime и производить сбор данных и вычисление с необходимой вам частотой и добавьте условия в обработку если срок подходит, то дать команду боту отправить данные пользователю.

Это даже не псевдокод, но архитектурно я бы сделал так, за неимением системы мониторинга.

→ Ссылка