EL BOT
# чат

EL BOT

Многофункциональный Discord бот для кланов Мира Танков

📋 Обзор бота

EL BOT - Discord-бот для кланов Мира Танков. Актуальная версия поддерживает мульти-региональную работу, серверную авторизацию через OAuth, клановые инструменты, игровые активности и отдельные модули автоматизации для Discord-сервера.

  • Поддержка нескольких регионов: Lesta и EU
  • Привязка нескольких игровых аккаунтов и выбор активного профиля для конкретного сервера
  • Подробная статистика игроков и кланов с разделением по режимам
  • Клановые резервы: ручная активация, расписание и контроль остатков на складе
  • Военкомат с анкетой, выбором клана и карточками техники
  • Единый мастер настройки сервера, клана, приветствия, новостей и табеля-календаря
  • Викторина по изображениям с лобби, рейтингом и личным профилем
  • Фоновые задачи: синхронизация ролей, RSS-новости, ежедневные напоминания, обновление WN8 и токенов

🎮 Информация и статистика

ℹ️
/инфо игрок
Подробная карточка игрока Мира Танков по нику или участнику сервера
Параметры:
  • никнейм - игровой ник или упоминание участника
  • регион - Lesta или EU
  • скрытое - показать ответ только автору команды
Что показывает:
  • WN8, MTR, уровень аккаунта и ссылки на KTTC и WOT-O-matic
  • роль и тег клана, если игрок состоит в клане
  • статистику по рандому, ГК 10 уровня, вылазкам 10 уровня и наступлениям
  • userbar и время последней активности
  • автодополнение никнеймов сразу по нескольким регионам
  • если регион не указан, используется текущая серверная авторизация пользователя
Пример статистики игрока
🏰
/инфо клан
Информация о клане по тегу или названию
Параметры:
  • клан - тег или название клана
  • регион - Lesta или EU
  • скрытое - отправить ответ в личном режиме
Особенности:
  • использует регион текущей серверной авторизации или явно указанный регион
  • возвращает реальную карточку клана, а не заглушку
  • удобна для быстрого просмотра состава и основной информации по клану
Карточка информации о клане Дополнительный экран информации о клане
👤
Контекстное меню: Инфо танкиста
Быстрый доступ к карточке игрока прямо из меню участника
ПКМ по пользователю → Приложения → Инфо танкиста
Особенности:
  • поиск ника по отображаемому имени пользователя
  • ответ отправляется скрыто, без лишнего шума в канале
  • подходит для серверов и пользовательской установки бота
Контекстная команда с карточкой игрока
📚
/инфо справка
Встроенная интерактивная справка по всем зарегистрированным командам
  • каждая команда выводится на отдельной странице
  • переключение по страницам происходит кнопками
  • описания команд берутся из актуального набора slash-команд бота

👤 Профиль и авторизация

🔐
/профиль авторизоваться
Привязка игрового аккаунта к Discord и выбор активного профиля для текущего сервера
Что умеет:
  • добавлять и обновлять аккаунты Lesta и EU через OAuth
  • хранить несколько профилей у одного пользователя
  • показывать, какой аккаунт уже авторизован на этом сервере
  • предлагать обновление, если срок действия токена истек
  • после авторизации обновлять роли и синхронизировать профиль с сервером
Панель авторизации профиля
🗑️
/профиль удалить
Управление удалением сохраненных профилей и связанных данных
Варианты удаления:
  • удаление отдельного профиля с конкретным регионом и аккаунтом
  • полное удаление данных пользователя из базы бота
  • подтверждение через отдельное модальное окно
Удаление профиля

🛡️ Клановые инструменты

/резервы активировать
Только администраторы
Ручная активация кланового резерва через мастер выбора
  • доступно командному составу от офицера штаба и выше
  • проверяет, что авторизованный пользователь состоит в клане
  • открывает мастер выбора доступного резерва и его уровня
Мастер активации кланового резерва
🕰️
/резервы расписание
Только администраторы
Настройка автоматической активации резервов по расписанию
Возможности:
  • планирование запусков по дням недели и времени
  • фоновая проверка остатков резервов на складе
  • уведомления командирам, если резервов на день не хватает
  • автоматический выбор меньшего уровня, если нужный отсутствует
Настройка расписания резервов Добавление резерва в расписание
🪖
/военкомат заявка
Заявка на вступление в клан через анкету и игровые данные
Особенности:
  • если на сервере несколько кланов, бот предложит выбрать нужный
  • использует авторизованный аккаунт игрока и его игровую статистику
  • добавляет в заявку данные по технике, включая актуальные топы и иконки танков
  • показывает статистику по рандому, ГК, вылазкам 10 уровня и наступлениям
  • если игрок не авторизован, сначала предлагает пройти авторизацию
Пример заявки в клан Карточка заявки в клан

⚙️ Настройка сервера

🎛️
/сервер настроить_сервер
Только администраторы
Единый центр настройки сервера, клана и связанных модулей бота
Базовая настройка сервера:
  • роль модератора для пинга и служебных уведомлений
  • формат никнейма: `Nick ( Имя )`, `Nick | Имя` или `Nick Имя`
  • роль друзей / гостей, если она используется на сервере
  • канал для скриншотов с проверкой прав бота перед сохранением
Настройка клана:
  • привязка клана к текущему Discord-серверу и выбранному региону
  • роль клана для участников
  • клановый чат для бойцов
  • командирский чат для заявок и служебных уведомлений
  • автоматическая выдача и снятие клановой роли
Панель авторизации:
  • выбор канала для постоянной панели
  • создание сообщения с кнопками авторизации
  • модуль становится доступен после базовой настройки сервера
Военкомат:
  • добавление и удаление вопросов анкеты
  • подсказки к каждому вопросу
  • ограничение до 4 дополнительных вопросов
  • выбор канала и создание панели для заявок в клан
Приветствие:
  • текст приветственного сообщения
  • включение или отключение модуля
  • отправка в канал сервера или в личные сообщения
  • выбор канала и акцентного цвета карточки
Новости Мира Танков:
  • выбор источников RSS
  • фильтрация по категориям
  • выбор текстового канала или канала объявлений
  • предпросмотр последней новости и быстрое отключение подписки
Табель-календарь:
  • включение или отключение ежедневного напоминания
  • выбор канала, времени отправки по MSK и акцентного цвета
  • сохранение с тестовой отправкой сообщения
  • ссылка на табель встроена прямо в карточку напоминания
Что ещё важно:
  • в мастер выводятся текущие сохранённые настройки по каждому модулю
  • бот проверяет права в выбранных каналах перед сохранением или тестовой отправкой
  • старые разрозненные команды настройки объединены в один центр управления
  • один и тот же клан нельзя одновременно привязать к нескольким Discord-серверам
Обзор модулей в мастере настройки Базовая настройка сервера Настройка клана Настройка новостей Мира Танков Настройка табеля-календаря Создание панели авторизации Готовая панель авторизации Настройка модулей сервера Настройка панели военкомата
👥
/сервер кто_не_авторизован
Только администраторы
Список бойцов клана, которые еще не прошли авторизацию на сервере
  • сравнивает состав клана с авторизованными аккаунтами на сервере
  • разбивает результат на страницы по 8 участников
  • показывает кнопки для быстрого просмотра карточки игрока
  • работает с учетом региона текущего клана
  • внутри команды дополнительно проверяется должность пользователя в клане
Неавторизованные игроки клана

🎯 Викторина

🎮
/викторина старт
Запуск викторины по изображениям прямо в Discord-канале
  • работает только на сервере
  • для запуска нужен авторизованный профиль
  • можно выбрать количество вопросов от 5 до 10
  • сначала создается лобби, затем игроки подключаются к матчу
  • результаты сохраняются в рейтинге сервера
Лобби викторины
🏆
/викторина лидеры
Топ-10 игроков по очкам, победам и количеству игр
📈
/викторина профиль
Личная статистика по викторинам
  • количество игр, побед и набранных очков
  • процент побед
  • главный соперник по совместным матчам

🔄 Автоматические функции

👋
Приветствие новых участников
Автоматическое приветствие при входе на сервер
  • отправка в указанный канал или в личные сообщения
  • подстановка имени участника и названия сервера в шаблон сообщения
  • настройка акцентного цвета и использование иконки сервера
  • резервный переход в ЛС, если канал для приветствий недоступен
Настройка приветствия
📰
Новости Мира Танков
RSS-модуль новостей с настройкой через серверный мастер
  • опрос новостных источников каждые 5 минут
  • выбор источников и категорий новостей
  • предпросмотр последней новости при настройке
  • автопубликация в каналы объявлений, если это поддерживается Discord
  • автоматическое отключение подписки, если канал стал недоступен
Настройка и публикация новостей Мира Танков
🗓️
Табель-календарь
Ежедневные напоминания о табеле-календаре Мира Танков
  • настройка канала, времени отправки и акцентного цвета
  • ежедневная отправка по московскому времени
  • ротация фраз и изображений месяца
  • автопубликация в новостных каналах при наличии прав
Напоминание о табеле-календаре
🔄
Синхронизация и обслуживание
Фоновые задачи для поддержки актуального состояния сервера и базы
  • синхронизация Discord-ролей с составом клана каждые 15 минут
  • сбор ежедневной статистики бойцов и статистики по топовой технике
  • обновление региональных границ WN8
  • продление OAuth-токенов без ручного вмешательства
  • подготовка и обновление справочников техники для каждого региона

🔧 Технические особенности

Текущая версия EL BOT состоит из Discord-бота, OAuth-контура и серверных планировщиков, которые работают с учетом региона аккаунта и настроек каждого Discord-сервера.

🏗️ Архитектура

  • Модульная структура на 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-запросы и разграничение доступа по ролям и правам
  • Эфемерные ответы для команд, где важна приватность пользователя
  • Контроль срока жизни токенов и автоматическое продление действующих авторизаций
EL BOT - ваш помощник в управлении кланом Мира Танков