Телеграм-бот для отслеживания изменений в расписании занятий РГХА из Google Spreadsheet и уведомления подписчиков.
- Периодическая проверка расписания в Google Spreadsheet (раз в час).
- Сравнение с локальной базой данных для выявления изменений.
- Отправка уведомлений об изменениях подписанным пользователям.
- Сохранение актуального расписания в локальную базу данных.
- Просмотр расписания через команды бота (сегодня, завтра, неделя, месяц).
- Node.js
- NestJS
- TypeORM
- SQLite
- Telegraf (для интеграции с Telegram API)
-
Клонировать репозиторий:
git clone <URL репозитория> cd rgha-schedule-bot
-
Установить зависимости:
npm install
-
Настроить переменные окружения: Создайте файл
.envна основе.env.exampleи укажите необходимые значения:TELEGRAM_BOT_TOKEN: Токен вашего Telegram-бота.GOOGLE_SPREADSHEET_ID: ID Google таблицы с расписанием.DATABASE_PATH(опционально): Путь к файлу базы данных SQLite (по умолчаниюrgha-schedule-bot.sqlite).NODE_ENV: Режим запуска (developmentилиproduction).TELEGRAM_DOMAIN(для production webhook): Домен, на котором будет доступен бот.TELEGRAM_WEBHOOK_PATH(опционально для production webhook): Путь для вебхука.
-
Запустить приложение:
- В режиме разработки:
npm run start:dev
- Для production сборки:
npm run build npm run start:prod
- В режиме разработки:
Более подробное описание проекта и его компонентов можно найти в папке docs.