-
released this
2026-04-28 10:07:07 +03:00 | 358 commits to main since this release🚀 Версия 1.0 — Telegram Bot + Mini App Dashboard
Этот релиз закрывает следующую задачу этапа «Версия 1.0 — Telegram Bot + Mini App Dashboard»: GM теперь может быстро создавать повторяющиеся расписания и сохранять типовые кампании как шаблоны. Вместо ручного перечисления дат достаточно указать первую игру, количество сессий и шаг расписания, а для частых форматов — выбрать готовый шаблон в Web Dashboard.
✅ Закрытые issues
- #16 — feat: добавить шаблоны кампаний и быстрое создание повторяющихся расписаний:
/newsessionполучил быстрые поля повторения, Web Dashboard получил CRUD для шаблонов кампаний и запуск нового batch-расписания из шаблона с единой проверкой доступа owner/co-GM.
🧩 Что вошло в релиз
- команда
/newsessionтеперь поддерживает строкиИгр:,Сессий:илиПовторов:для количества игр иИнтервал:илиШаг:для шага в днях; - если указан счётчик повторений без интервала, Telegram-сценарий использует недельный шаг по умолчанию;
- парсер проверяет границы повторений 1-52 и интервала 1-365 дней, а
/helpпоказывает новый быстрый формат; - добавлен
BatchSchedulePlanner.BuildRecurringSchedule, который строит повторяющиеся даты из первой сессии, количества игр и интервала; - в Web Dashboard на странице группы появился блок «Шаблоны кампаний»: можно сохранить название, заголовок, ссылку, количество сессий, интервал, режим уведомлений и опциональный лимит мест;
- шаблон можно сразу запустить от выбранной первой даты: создаётся новый
batch_id, набор будущихsessions, Telegram-сообщение расписания и пустой список участников; - доступ к шаблонам проходит через
AuthorizedSessionService: owner и co-GM видят и используют шаблоны своих групп, чужие группы остаются закрыты; - добавлены операции хранения шаблонов в
ISessionStore/SessionService, включая создание, список, удаление и запуск batch из шаблона; - база данных расширена миграцией
V010__add_campaign_templates.sqlс таблицейcampaign_templatesи уникальным именем шаблона в пределах группы; - README и wiki обновлены под 1.8.0, включая Telegram-формат повторов, Web-шаблоны, миграцию V010 и актуальные версии;
- добавлены тесты для парсинга повторяющегося
/newsession, построения расписаний, авторизации шаблонов и запуска batch из шаблона.
🛡 Что это даёт
- GM может заводить типовые кампании один раз и дальше создавать новые расписания за несколько кликов;
- повторяющиеся кампании больше не требуют ручного ввода каждой даты в Telegram;
- Telegram и Web используют одинаковые правила построения расписания, ограничения и модель доступа;
- новый batch из шаблона стартует чистым: с собственным
batch_id, новыми сессиями и без переноса старых участников; - существующие сценарии bulk-создания и клонирования расписаний остаются совместимыми.
📦 Версия и деплой
- версия проекта обновлена до 1.8.0 в
Directory.Build.props,compose.yaml, README, Web design system, wiki и Gitea Actions workflow; - Docker-образы и deploy-конфигурация используют тег 1.8.0;
- локально пройдены
dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --collect:"XPlat Code Coverage"иdotnet build GM-Relay.slnx -c Release; - Gitea Actions run #45 успешно собрал, опубликовал и задеплоил bot/web образы.
Downloads
- #16 — feat: добавить шаблоны кампаний и быстрое создание повторяющихся расписаний: