1.8 KiB
1.8 KiB
Pulse — Система уведомлений
Telegram бот
Функционал
- При
/startбот отправляет пользователю егоchat_id - Пользователь копирует этот ID и вставляет в профиль на сайте
- Бот отправляет уведомления о задачах и привычках
Реализация
- Часть homelab-api (отдельный goroutine)
- Используем go-telegram-bot-api
- Long polling
Профиль пользователя
Новые поля в БД (таблица users)
ALTER TABLE users ADD COLUMN telegram_chat_id BIGINT;
ALTER TABLE users ADD COLUMN notifications_enabled BOOLEAN DEFAULT true;
ALTER TABLE users ADD COLUMN morning_reminder_time TIME DEFAULT '09:00';
ALTER TABLE users ADD COLUMN evening_reminder_time TIME DEFAULT '18:00';
ALTER TABLE users ADD COLUMN timezone VARCHAR(50) DEFAULT 'Europe/Moscow';
API endpoints
GET /profile— получить профильPUT /profile— обновить профиль
Напоминания
Задачи (Tasks)
- Утром (9:00): список задач на сегодня
- Вечером (18:00): невыполненные задачи
Привычки (Habits)
- Утром: какие привычки нужно выполнить сегодня
- Вечером: невыполненные привычки
Scheduler
robfig/cronв Go- Проверка каждую минуту, отправка по времени пользователя
TODO
- Создать Telegram бота (@BotFather)
- Миграция БД
- API: /profile
- Telegram bot handler
- Scheduler
- UI: страница профиля/настроек
Создано: 2026-02-06