Бот со списком движков и банхаммером в руках
Go to file
nefrace 7fba6ddb93 Fixed NewBot routine 2023-02-14 01:15:00 +03:00
assets Added fourth logo, fixed docker-compose 2022-02-02 12:16:45 +03:00
captchagen Switched to Echotron, added topics 2022-11-09 00:45:08 +03:00
db Moved to Tongo wrapper 2023-02-14 00:50:21 +03:00
kicker Fixed NewBot routine 2023-02-14 01:15:00 +03:00
.dockerignore Updated Dockerfile, added .dockerignore 2022-02-02 13:11:53 +03:00
.gitignore Update .gitignore 2022-02-11 12:27:07 +03:00
Dockerfile Updated go image version for Docker 2022-11-09 02:02:12 +03:00
README.md Update README.md 2022-02-02 13:09:07 +03:00
docker-compose.yml Updated go image version for Docker 2022-11-09 02:02:12 +03:00
go.mod Moved to Tongo wrapper 2023-02-14 00:50:21 +03:00
go.sum Moved to Tongo wrapper 2023-02-14 00:50:21 +03:00
main.go added notify task 2023-02-14 00:56:18 +03:00
out.png Added image generation 2022-01-28 01:00:40 +03:00

README.md

KickerBot

Бот, генерирующий капчу в виде картинки с набором логотипов игровых движков. Проверяемому необходимо выбрать правильный и написать ответ цифрой. Если ответ неверный: бот банит пользователя.

Модули

Kicker

Сам бот, взаимодействующий с Telegram и базой. Обработчики событий находятся в handlers.go

DB

Обработчик базы данных, взаимодействует с MongoDB

Captchagen

Автономный генератор капчи. При запуске принимает список картинок, которые потом использует для генерации капчи. По умолчанию логотип с именем godot.png всегда является правильным.

Как запустить:

Создать два файла: bot.env и mongo.env для настройки базы и самого бота.

bot.env

TOKEN=<токен бота Telegram>
DB_USER=<логин для базы>
DB_PASSWORD=<пароль для базы>
MONGO_URI=mongodb://mongo:27017

mongo.env

MONGO_INITDB_ROOT_USERNAME=<логин для базы>
MONGO_INITDB_ROOT_PASSWORD=<пароль для базы>

ME_CONFIG_MONGODB_ADMINUSERNAME=<логин для базы>
ME_CONFIG_MONGODB_ADMINPASSWORD=<пароль для базы>
ME_CONFIG_MONGODB_URL=mongodb://<логин>:<пароль>@mongo:27017/

Затем запустить команду docker-compose up -d --build, чтобы собрать образ бота и запустить контейнеры в стэке.