Как реализовать автоматические напоминания в PyTelegramBotAPI, если данные о событиях находятся в базе данных?
У меня есть база данных, в которой записано название события, его дата и время. Необходимо отправлять напоминания пользователю:
- Когда создаётся напоминание (его создает 3-е лицо)
- За неделю до события
- За сутки до события
Ответы (1 шт):
Автор решения: resident
→ Ссылка
Можно задействовавать систему мониторинга Grafana + Prometheus или Zabbix, если конечно они у вас есть.
- Нужно написать запрос в базу для получения количества событий например и если количество напоминаний изменилось, то уже делать запрос за последними новыми записями в базу и отправляйте их пользователю через вашего бота.
- Тут вам нужно опрашивать все ваши активные напоминания(я бы в базе у каждого напоминания добавил поле status, которое отрображает активно ли напоминание или нет и значения по типу True/False или 1/0) и вычислять через сколько оно сработает, например: note_date - current_datetime и производить сбор данных и вычисление с необходимой вам частотой и добавьте условия в обработку если срок подходит, то дать команду боту отправить данные пользователю.
Это даже не псевдокод, но архитектурно я бы сделал так, за неимением системы мониторинга.