EL BOT
Многофункциональный Discord бот для кланов Мира Танков
📋 Обзор бота
EL BOT - Discord-бот для кланов Мира Танков. Актуальная версия поддерживает мульти-региональную работу, серверную авторизацию через OAuth, клановые инструменты, игровые активности и отдельные модули автоматизации для Discord-сервера.
- Поддержка нескольких регионов: Lesta и EU
- Привязка нескольких игровых аккаунтов и выбор активного профиля для конкретного сервера
- Подробная статистика игроков и кланов с разделением по режимам
- Клановые резервы: ручная активация, расписание и контроль остатков на складе
- Военкомат с анкетой, выбором клана и карточками техники
- Единый мастер настройки сервера, клана, приветствия, новостей и табеля-календаря
- Викторина по изображениям с лобби, рейтингом и личным профилем
- Фоновые задачи: синхронизация ролей, RSS-новости, ежедневные напоминания, обновление WN8 и токенов
🎮 Информация и статистика
👤 Профиль и авторизация
🛡️ Клановые инструменты
⚙️ Настройка сервера
🎯 Викторина
🔄 Автоматические функции
🔧 Технические особенности
Текущая версия EL BOT состоит из Discord-бота, OAuth-контура и серверных планировщиков, которые работают с учетом региона аккаунта и настроек каждого Discord-сервера.
Python 3.11
Основной язык проекта py-cord
Discord slash-команды, view и modal FastAPI
Завершение OAuth-авторизации и callback-сервис aiohttp
Асинхронная работа с API и внешними источниками asyncpg
Асинхронный доступ к PostgreSQL PostgreSQL
Хранение аккаунтов, конфигов, статистики и подписок
Основной язык проекта py-cord
Discord slash-команды, view и modal FastAPI
Завершение OAuth-авторизации и callback-сервис aiohttp
Асинхронная работа с API и внешними источниками asyncpg
Асинхронный доступ к PostgreSQL PostgreSQL
Хранение аккаунтов, конфигов, статистики и подписок
🏗️ Архитектура
- Модульная структура на Cogs, сервисах, репозиториях и setup wizard
- Мульти-региональная конфигурация и region-aware схема базы данных
- DesignerView, кнопки и модальные окна вместо перегруженных текстовых команд
- Планировщики для ролей, резервов, статистики, новостей и ежедневных напоминаний
- Работа с Discord и игровыми API без блокировки event loop
- Подготовка справочников техники и игровых данных отдельно по каждому региону
📊 Интеграции
- API Мира Танков для Lesta и EU-регионов
- KTTC и WOT-O-matic для внешних ссылок на статистику
- XVM шкалы для актуальных границ WN8
- RSS-источники новостей Мира Танков
🔒 Безопасность
- OAuth 2.0 авторизация с подтверждением завершения через отдельный callback-контур
- Шифрование токенов доступа перед сохранением в базе данных
- Валидация region, payload и параметров callback перед сохранением профиля
- Параметризованные SQL-запросы и разграничение доступа по ролям и правам
- Эфемерные ответы для команд, где важна приватность пользователя
- Контроль срока жизни токенов и автоматическое продление действующих авторизаций