Add Discord event announcement functionality to backend
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / compose (push) Has been cancelled

This commit introduces a new Discord event announcer to the backend, allowing for event announcements via Discord. It includes the addition of new environment variables for Discord configuration in `.env.example` and `compose.yaml`. The `main.go` file has been updated to initialize the announcer, and a new `discord` package has been created, containing the announcer logic and tests. Additionally, the service layer has been modified to support bracket draft management, enhancing the overall event workflow. Integration tests have been updated to ensure proper functionality of the new features.
This commit is contained in:
2026-07-19 11:21:11 +03:00
parent b7a78b4384
commit ae19c03542
31 changed files with 1632 additions and 88 deletions

View File

@@ -9,7 +9,7 @@
- [x] дать Admin обменивать игроков одинаковой роли и заменять их резервными;
- [x] пересчитывать показатели после каждой ручной правки;
- [x] подтвердить составы 1/2/2 и капитанов;
- [x] запускать одиночную Bo3-серию для двух команд или single-elimination турнир для нескольких;
- [x] редактировать произвольный граф Bo3 через Team / Winner / Loser и запускать все готовые пары;
- [x] связать жеребьёвку, map draft, hero draft и результаты карт единым versioned FSM;
- [x] блокировать обычное изменение составов после старта;
- [x] разрешить аудируемую аварийную замену Admin;
@@ -69,8 +69,8 @@
## Этап 4 — турнир
- single-elimination сетка;
- автоматическое создание следующих пар;
- versioned drag-and-drop редактор произвольной сетки;
- автоматическое создание следующих пар по Winner/Loser-зависимостям;
- экран трансляции/зрителя;
- история результатов игрового вечера.
@@ -79,7 +79,9 @@
- пресеты регламентов;
- статистика игроков и команд;
- повторная жеребьёвка с защитой от одинаковых составов;
- Discord-уведомления;
- [x] Discord-анонс нового микса с `@everyone` и ссылкой на регистрацию;
- обновление анонса, напоминания, публикация составов и результатов;
- синхронизация временных Discord-ролей и командных каналов;
- импорт данных и резервное копирование.
## Идеи после MVP