source | ||
readme.md |
Бот в Telegram для регистрации в организации
Бот описан в src/bot/bot.ts
на TypeScript с помощью фреймворка Grammy над Telegram Bot API. Предназначен для запуска в контейнере Docker через NodeJS, файл сборки образа можно видеть под названием src/dockerfile
. Главный метод запуска проекта — через файл Bash скрипта start.sh
.
Официально запускается под доменом @zaboal_profile_bot.
Переменные бота
Настройки бота расположены в директории src/bot/settings
для Telegram Bot API и в файле переменных среды environment.sh
для команды source
. Файл переменных окружения имеет жизненно необходимые значения, их обязательно требуется указать.
environment.sh
— переменные среды
Для запуска бота требуется три константы в формате Bash:
BOT_TOKEN
— токен бота, получаемый от BotFather;BOT_DB_PATH
— путь к базе данных SQLite бота на хосте, с данными об идентификаторах пользователя Телеграм людей зарегистрированных в организации;ORG_BD_PATH
— путь к базе данных SQLite орагнизации, с данными об подразделениях, рабочих и т.д.
Данные будут переданы в контейнер Docker в процессе Bash скрипта запуска проекта start.sh
. По путям к базам данных на хосте в контейнер будут примонтированы соответствующие файлы SQLite под программными названиями.
settings/*.json
— переменные для Telegram Bot API
При запуске бот передаст Telegram Bot API файлы конфигурации в формате json из директории settings
:
commands.json
— список команд и их описаний бота;default_administrator_rights.json
— предлагаемый набор прав администратора бота при добавлении в группу.
Эти настройки формируются согласно изменениям кода самого бота. Изменять их рекомендуются только разработчикам, внёсшим изменения.
Запуск бота
Перед запуском требуется заполнить переменные среды. С помощью команды source
в start.sh
на основе этих переменных в создаваемый контейнер от образа dockerfile
будет примонтированы файлы баз данных и передан токен.
Если все переменные указаны верно, можно запускать файл start.sh
от имени администратора:
sudo bash start.sh