From 7f58927cd36fe9867da8c9d9c12d10b716e8f4fe Mon Sep 17 00:00:00 2001 From: Toutsu Date: Tue, 28 Apr 2026 10:22:26 +0300 Subject: [PATCH] docs: update wiki for 1.8.1 template tab --- ...%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0.md | 3 ++- ...B7%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.md | 2 +- ...80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82.md | 9 +++++---- ...%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.md | 8 ++++---- ...%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0.md | 2 +- ...B4%D1%81%D1%82%D0%B2%D0%BE-%D0%93%D0%9C%D0%B0.md | 13 +++++++++---- Home.md | 6 +++--- 7 files changed, 25 insertions(+), 18 deletions(-) diff --git a/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0.md b/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0.md index de85d01..0b68302 100644 --- a/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0.md +++ b/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0.md @@ -71,7 +71,8 @@ Blazor Server-приложение использует cookie auth и Telegram - `/login` — вход через Telegram. - `/` — список групп, где пользователь owner или co-GM. -- `/group/{GroupId}` — управляющие группы, шаблоны кампаний, будущие сессии и batch bulk-операции. +- `/templates` — отдельная вкладка управления шаблонами кампаний по доступным группам. +- `/group/{GroupId}` — управление группой, применение шаблонов кампаний, будущие сессии и batch bulk-операции. - `/session/edit/{SessionId}` — редактирование названия, времени и ссылки. ## Общий домен diff --git a/%D0%91%D0%B0%D0%B7%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.md b/%D0%91%D0%B0%D0%B7%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.md index d0c19a3..37956f4 100644 --- a/%D0%91%D0%B0%D0%B7%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.md +++ b/%D0%91%D0%B0%D0%B7%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.md @@ -1,6 +1,6 @@ # База данных -GM-Relay **v1.8.0** использует PostgreSQL. Изменения схемы управляются DbUp-миграциями, встроенными в `GmRelay.Bot` как embedded resources. +GM-Relay **v1.8.1** использует PostgreSQL. Изменения схемы управляются DbUp-миграциями, встроенными в `GmRelay.Bot` как embedded resources. ## Миграции diff --git a/%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82.md b/%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82.md index f03754a..ee9bdb1 100644 --- a/%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82.md +++ b/%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82.md @@ -1,6 +1,6 @@ # Быстрый старт -Эта страница описывает минимальный запуск текущей версии GM-Relay **v1.8.0**. +Эта страница описывает минимальный запуск текущей версии GM-Relay **v1.8.1**. ## Требования @@ -41,8 +41,8 @@ docker compose up -d Compose поднимает: - `db`: PostgreSQL 17 Alpine, БД `gmrelay_db`, пользователь `gmrelay`. -- `bot`: образ `git.codeanddice.ru/toutsu/gmrelay-bot:1.8.0`. -- `web`: образ `git.codeanddice.ru/toutsu/gmrelay-web:1.8.0`. +- `bot`: образ `git.codeanddice.ru/toutsu/gmrelay-bot:1.8.1`. +- `web`: образ `git.codeanddice.ru/toutsu/gmrelay-web:1.8.1`. Web UI будет доступен на `http://localhost:8080`, если `GMRELAY_WEB_PORT` не переопределён. @@ -75,4 +75,5 @@ dotnet run --project src/GmRelay.AppHost - Owner/co-GM может нажать `⏰ Перенести`, отправить 2-3 варианта времени и дедлайн; бот создаст голосование и применит победивший вариант по дедлайну. - Web-панель должна перенаправлять неавторизованного пользователя на `/login`. - После входа через Telegram пользователь видит группы, где он назначен owner или co-GM. -- На странице группы owner видит блок управления co-GM, а owner/co-GM видят шаблоны кампаний и batch-операции: общий title/link, режим уведомлений, перенос всей пачки и клонирование batch. +- В левом меню есть вкладка `Шаблоны` для управления сохранёнными шаблонами кампаний. +- На странице группы owner видит блок управления co-GM, а owner/co-GM применяют существующие шаблоны и видят batch-операции: общий title/link, режим уведомлений, перенос всей пачки и клонирование batch. diff --git a/%D0%A0%D0%B0%D0%B7%D0%B2%D1%91%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.md b/%D0%A0%D0%B0%D0%B7%D0%B2%D1%91%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.md index 7a266ce..b1f3421 100644 --- a/%D0%A0%D0%B0%D0%B7%D0%B2%D1%91%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.md +++ b/%D0%A0%D0%B0%D0%B7%D0%B2%D1%91%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5.md @@ -1,6 +1,6 @@ # Развёртывание -Текущий production-like способ запуска GM-Relay **v1.8.0** — Docker Compose из `compose.yaml`. +Текущий production-like способ запуска GM-Relay **v1.8.1** — Docker Compose из `compose.yaml`. ## Сервисы Docker Compose @@ -15,13 +15,13 @@ `bot`: -- образ: `git.codeanddice.ru/toutsu/gmrelay-bot:1.8.0`; +- образ: `git.codeanddice.ru/toutsu/gmrelay-bot:1.8.1`; - запускается после успешного healthcheck сервиса `db`; - переменные окружения: `ConnectionStrings__gmrelaydb`, `Telegram__BotToken`. `web`: -- образ: `git.codeanddice.ru/toutsu/gmrelay-web:1.8.0`; +- образ: `git.codeanddice.ru/toutsu/gmrelay-web:1.8.1`; - запускается после успешного healthcheck сервиса `db`; - переменные окружения: `ConnectionStrings__gmrelaydb`, `Telegram__BotToken`, `Telegram__BotUsername`; - порт: `${GMRELAY_WEB_PORT:-8080}:8080`; @@ -92,7 +92,7 @@ docker compose down -v ## Поведение миграций -Бот применяет DbUp-миграции при старте до обработки Telegram updates. В версии `1.8.0` добавлена миграция `V010__add_campaign_templates.sql`: она создаёт таблицу `campaign_templates` для Web-шаблонов кампаний и быстрого создания повторяющихся batch-расписаний. После обновления стоит проверить логи `bot`, чтобы убедиться, что миграции применились без ошибок. +Бот применяет DbUp-миграции при старте до обработки Telegram updates. Начиная с версии `1.8.0` доступна миграция `V010__add_campaign_templates.sql`: она создаёт таблицу `campaign_templates` для Web-шаблонов кампаний и быстрого создания повторяющихся batch-расписаний. После обновления стоит проверить логи `bot`, чтобы убедиться, что миграции применились без ошибок. ## Безопасность diff --git a/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0.md b/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0.md index c32d533..3f681ba 100644 --- a/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0.md +++ b/%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0.md @@ -26,7 +26,7 @@ dotnet run --project src/GmRelay.AppHost `Directory.Build.props` задаёт: -- `Version`: `1.8.0`. +- `Version`: `1.8.1`. - `TargetFramework`: `net10.0`. - `LangVersion`: `preview`. - `Nullable`: `enable`. diff --git a/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%93%D0%9C%D0%B0.md b/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%93%D0%9C%D0%B0.md index d96bccf..fcfd237 100644 --- a/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%93%D0%9C%D0%B0.md +++ b/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%93%D0%9C%D0%B0.md @@ -1,6 +1,6 @@ # Руководство ГМа -Руководство описывает пользовательские сценарии бота и Web-панели для GM-Relay **v1.8.0**. +Руководство описывает пользовательские сценарии бота и Web-панели для GM-Relay **v1.8.1**. ## Кто управляет группой @@ -82,11 +82,15 @@ Owner или co-GM может поднять первого игрока из о Повышение возможно только если в основном составе есть свободное место. Если лимит заполнен, сначала увеличьте `Мест:` в Web-редактировании сессии. При самостоятельном выходе активного игрока первый ожидающий повышается автоматически. -## Bulk-операции для batch в Web +## Шаблоны и bulk-операции для batch в Web -На странице группы Web-панель показывает отдельный блок для каждой видимой пачки игр. Owner и co-GM могут: +Вкладка `Шаблоны` в левом меню отвечает за управление шаблонами кампаний. Owner и co-GM выбирают группу и могут: - сохранить шаблон кампании с названием шаблона, названием игры, ссылкой, количеством игр, интервалом, лимитом мест и режимом уведомлений; +- удалить устаревший шаблон. + +На странице группы Web-панель показывает только применение готовых шаблонов и отдельный блок для каждой видимой пачки игр. Owner и co-GM могут: + - создать новый batch из шаблона, выбрав только первую дату; - обновить общий `title` и `link` сразу у всех сессий batch; - выбрать режим уведомлений для игроков: `В группе и в личку` или `Только в группе`; @@ -148,7 +152,8 @@ Web UI доступен после входа через Telegram Login Widget. - видеть заполненность и размер листа ожидания; - редактировать название, время, ссылку и лимит мест; - поднять первого игрока из листа ожидания, если есть свободное место; -- сохранять шаблоны кампаний и создавать batch из шаблона по первой дате; +- управлять шаблонами кампаний во вкладке `Шаблоны`; +- создавать batch из шаблона на странице группы по первой дате; - выполнять bulk-операции над batch: общий title/link, перенос пачки и клонирование на неделю или месяц. - выбирать режим уведомлений batch: групповые сообщения с личными DM или только групповые сообщения. diff --git a/Home.md b/Home.md index aa06709..5cfd014 100644 --- a/Home.md +++ b/Home.md @@ -1,10 +1,10 @@ # Главная -GM-Relay — Telegram-бот и Blazor-панель для организации TTRPG-сессий. Текущее состояние документации соответствует репозиторию `Toutsu/GmRelayBot` и релизу **v1.8.0**. +GM-Relay — Telegram-бот и Blazor-панель для организации TTRPG-сессий. Текущее состояние документации соответствует репозиторию `Toutsu/GmRelayBot` и релизу **v1.8.1**. ## Текущий стек -- Версия проекта: `1.8.0`. +- Версия проекта: `1.8.1`. - Платформа: `.NET 10`, C# preview, nullable reference types, warnings as errors. - Оркестрация разработки: `.NET Aspire 13` через `src/GmRelay.AppHost`. - Runtime бота: `Worker Service`, Telegram long polling, Native AOT. @@ -31,7 +31,7 @@ GM-Relay — Telegram-бот и Blazor-панель для организаци - Отправка ссылки на подключение за 5 минут до подтверждённой игры. - Экспорт будущих запланированных сессий в `.ics` через `/exportcalendar`. - Web-панель для owner/co-GM: список групп, список сессий, редактирование названия, времени, ссылки и лимита мест. -- Шаблоны кампаний в Web Dashboard: сохранённые параметры кампании, лимит мест, режим уведомлений и быстрое создание нового batch по первой дате. +- Шаблоны кампаний в Web Dashboard: отдельная вкладка для управления сохранёнными параметрами кампаний и применение шаблонов на странице группы по первой дате. - Bulk-операции в Web Dashboard: общий `title/link` для batch, перенос всей пачки на фиксированный шаг и клонирование на следующую неделю или месяц с новым Telegram-сообщением. - Настройка режима уведомлений для batch: `В группе и в личку` или `Только в группе`, при этом групповые сообщения сохраняются всегда. - CSS-fix Web Dashboard: раскрывающиеся списки используют контрастный фон и текст в native select dropdown.