Описание
Бот для напоминания о Scrum Daily.
Запуск
Для запуска на локальной машине надо использовать команду "npm run start".
Архитектура
Для разработки использован фреймворк node-telegram-bot-api. В качестве планировщика использован node-schedule-tz, в котором можно настраивать часовые пояса.
БД
БД бота находится в Firestore. Продовая база должна находится в таблице chats, а тестовая в "test_chats".
CI/CD
Деплой бота настроен на App Engine в GCP, туториал: https://medium.com/google-cloud/automatically-deploy-to-google-app-engine-with-gitlab-ci-d1c7237cbe11
Ещё один туториал: https://medium.com/monplan/nodejs-on-app-engine-standard-c4092efc7eab
Бот разворачивается в GCP в App Engine. Среда выбрана стандартная, чтобы контролировать количество инстансов, потому что, если инстансов больше одного, то бот начинает дублировать сообщения.
Чтобы при развёртке заменять текущую версию, в команду деплоя добавлен параметр --version=VERSION.
Todo:
- Feat: сделать команды для бота,
- Feat: сделать настройки расписания и сообщения,
- Feat: добавить проверку прав на все методы,
- Feat: добавить проверку активен ли бот в данном чате на все методы,
- Feat: сделать проверку: если бота исключили из группы, то надо делать в бд пометку.
Готово
- Build: при развёртке новых версий, не удаляются старые.# tg-scrum-daily