## 🛠 Patch 2.4.0 — Discord /newsession и /listsessions Реализованы slash-команды Discord для создания сессий и просмотра расписания без Web Dashboard. ## 🧩 Что вошло в релиз - src/GmRelay.DiscordBot/Features/Sessions/DiscordNewSessionCommand.cs — slash-команда /newsession с параметрами (title, time, seats, link) - src/GmRelay.DiscordBot/Features/Sessions/DiscordNewSessionHandler.cs — handler создания batch + session в БД - src/GmRelay.DiscordBot/Features/Sessions/DiscordListSessionsCommand.cs — slash-команда /listsessions - src/GmRelay.DiscordBot/Features/Sessions/DiscordListSessionsHandler.cs — handler запроса активных сессий с embed-рендерингом - src/GmRelay.DiscordBot/Infrastructure/Discord/DiscordPermissionChecker.cs — проверка прав через Discord permissions bitflag (Administrator = 0x8) - src/GmRelay.DiscordBot/Infrastructure/Discord/DiscordPlatformMessenger.cs — реализация IPlatformMessenger для Discord через NetCord REST - src/GmRelay.DiscordBot/Program.cs — регистрация DI: handlers, permission checker, messenger - ests/GmRelay.Bot.Tests/Discord/ — 20+ TDD-тестов на парсинг, права, структуру, DI, рендеринг - Синхронизированы версии: Directory.Build.props, NavMenu.razor, compose.yaml, deploy.yml → 2.4.0 ## 🗺 Что это даёт - Мастера (GM) могут создавать сессии прямо из Discord, не заходя в Web. - Участники сервера видят расписание через /listsessions. - Единая PostgreSQL модель для Telegram и Discord — никакого дублирования данных. ## 📦 Версия и деплой - версия обновлена до 2.4.0 - Docker-образы используют тег 2.4.0