NSCMTelegramBot

module
v0.0.0-...-1954100 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2023 License: MIT

README

NSCMBot

Telegram-бот для NSCM с автоматическим обновлением результатов экзаменов.

Доступен для использования: NSCMBot


Развёртывание

Также вы можете развернуть своего бота, используя этот проект.

Системные требования:

  • Процессор: только 64-битный
  • Оперативная память: как минимум 4 ГБ

0. Загрузка проекта

  • используя HTTPS:
git clone https://github.com/KirillMerz/NSCMBot.git && cd NSCMBot/
  • используя SSH:
git clone git@github.com:KirillMerz/NSCMBot.git && cd NSCMBot/

В дальнейших пунктах работа ведётся из корня проекта

1. Конфигурирование

Для конфигурирования бота используется файл .env. Его пример уже присутствует в загруженном проекте, достаточно скопировать его под нужным именем:

cp .env.example .env

Далее вам необходимо указать следующие переменные:

  • TELEGRAM_BOT_TOKEN - токен телеграм-бота. Можно получить у BotFather
  • MONGODB_URI - URI базы данных MongoDB. Документация

Следующие параметры необходимы лишь для работы Webhook'ов и являются необязательными. Если их не указать, бот будет использовать long polling

  • WEBHOOK_URL - адрес, по которому будут отправляться запросы
  • WEBHOOK_PORT - порт, который будет прослушивать бот

Если вы хотите, чтобы соединение между сервером Telegram и вашим ботом было безопасным, необходимо выпустить SSL-сертификат. Сделать это можно с помощью сервиса Let's Encrypt. Выпущенный сертификат (а именно файлы fullchain.pem и privkey.pem) необходимо разместить в каталоге ./data/certs/

2. Сборка и запуск

Для развёртывания существуют два пути: использовать контейнеризацию (2.1) или развернуть всё в системе напрямую (2.2).

2.1 Docker Compose

Нужно установить Docker Engine и Docker Compose.

При первом запуске все необходимые образы будут скачаны, выполнится сборка бота:

docker-compose up
2.2 Локальная сборка

Нужно установить Go и MongoDB.

При первой сборке бота Go установит необходимые зависимости, а в каталоге ./bin/ появится исполняемый файл NSCMBot:

go build -o ./bin/NSCMBot ./cmd/main.go

Запускаться бот должен из того же каталога, в котором находится файл .env:

./bin/NSCMBot

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL