Discord-Bot for sigame
Бот для игры в Свою игру.
bot.py - файл с ботом sigame_api.py - файл с сайтом и API games/ - папка с паками для игры db/ - папка с базой данных data/ - модели для базы данных и форм static/ - статичные файлы (шрифты) temp/ - времнные картинки, создаваемые ботом templates/ - шаблоны для сайта
Суть игры заключается в том, что игроки отвечают на различные вопросы разных категорий и зарабатывают очки. В конце побеждает тот, кто набрал наибольшее число очков.
Файл sigame_api отвечает за работу сайта, на котором после регистрации можно создать паки для бота. Также там можно найти ссыдку для добавления бота на сревер в Дискорде. В этом файла описаны обработчики запросов к сайту по различным путям. Там есть формы регистрации, логина и создания нового пака (или редактирования имеющегося).
Файл data/pack_resources реализует работу сайта как Restful-API, которое необходимо для работы бота.
В файлах packs и users модели этих сущностей для базы данных.
В файле forms находятся классы flask-форм, используемых на сайте.
Файл bot отвечет за работу бота. В нём реализованы три класса:
- Класс SigameBot является ботом и отвечает за всю его работу. Там содержаться шаблоны ответов на сообщения и функции проведения игры.
- Класс SiCommands отвечает за команды бота. При вызове какой-либо команды она сначала обрабатывается в этом классе, а затем по необходимости обрабатывается ботом. Клманды бота доступны по префиксу 'si! '.
- Класс SiGameSession отвечает за функции работы конкретной сессии игры. Там создаются изображения, хранятся игроки и т.д. Для работы боту необходим токен, который хранится в файле .env. Этот файл нельзя разместить на GitHub, но он есть локально в облаке, где запущен бот и локально на компьютере, где создавался бот.
Сайт доступен по ссылке - http://130.193.51.55:10000/