Discord-бот для управления полком и просмотра статистики игроков War Thunder.
Главная особенность проекта — прямая интеграция с внутренними сервисами War Thunder без использования готовых SDK и сторонних API-обёрток. Бот самостоятельно формирует HTTP-запросы, игровые заголовки и бинарные LZ4-пакеты, а также разбирает ответы серверов.
- поиск игрока по никнейму;
- получение статистики игрока;
- выбор режима: авиация или наземная техника, AB/RB/SB;
- расчёт K/D, K/V, процента побед и среднего результата;
- просмотр заявок на вступление в полк;
- принятие игроков в полк прямо из Discord;
- ограничение административных команд по Discord-ролям;
- запуск в Docker.
| Команда | Описание |
|---|---|
/get_user_stats |
Показывает статистику игрока |
/get_candidates_list |
Выводит заявки на вступление в полк |
/accept_member |
Принимает игрока в полк |
Команды управления полком доступны только пользователям с разрешёнными Discord-ролями.
Бот обращается непосредственно к сервисам Gaijin и реализует необходимую часть игрового протокола:
- поиск пользователей через
contact-proxy; - запрос статистики с серверов
char; - формирование служебных заголовков War Thunder;
- декодирование JSON и бинарных ответов;
- сериализация и LZ4-сжатие пакета для принятия игрока в полк.
Это не официальный SDK и не обёртка над сторонним сервисом — протокол запросов реализован непосредственно в проекте.
- Python 3.11
- Pycord
- Requests
- LZ4
- Docker
Структура файла .env:
DISCORD_BOT_TOKEN=
DISCORD_GUILD_ID=
OFFICER_ROLES=
WT_TOKEN=
WT_SELF_UID=
WT_CLAN_ID=
WT_GAME_VERSION=pip install -r requirements.txt
python main.py
docker build -t not-found-bot .
docker run --env-file .env not-found-bot