From 19788f4808124bfdb02eeb59eb22aa3d90ab959b Mon Sep 17 00:00:00 2001 From: Toutsu Date: Fri, 24 Apr 2026 13:30:15 +0300 Subject: [PATCH] Update wiki page 'Home' --- Home.md | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/Home.md b/Home.md index e28c590..a2e3cae 100644 --- a/Home.md +++ b/Home.md @@ -1,43 +1,39 @@ # Главная -GM-Relay — Telegram-бот и Blazor-панель управления для организации TTRPG-сессий. Текущее состояние документации соответствует репозиторию `Toutsu/GmRelayBot` на 2026-04-24. +GM-Relay — Telegram-бот и Blazor-панель для организации TTRPG-сессий. Текущее состояние документации соответствует репозиторию `Toutsu/GmRelayBot` и релизу **v1.2.0**. ## Текущий стек -- Версия проекта: `1.1.5`. +- Версия проекта: `1.2.0`. - Платформа: `.NET 10`, C# preview, nullable reference types, warnings as errors. - Оркестрация разработки: `.NET Aspire 13` через `src/GmRelay.AppHost`. -- Runtime бота: `Worker Service`, `BackgroundService`, Telegram long polling, Native AOT. +- Runtime бота: `Worker Service`, Telegram long polling, Native AOT. - Web UI: Blazor Server с Telegram Login Widget. - База данных: PostgreSQL 17. - Доступ к данным: Npgsql, Dapper, Dapper.AOT; миграции через DbUp. -- Деплой: Docker Compose, отдельные образы `gmrelay-bot` и `gmrelay-web`. +- Деплой: Docker Compose, образы `gmrelay-bot` и `gmrelay-web`. ## Основные возможности - Создание пачки игровых сессий одной командой `/newsession` с несколькими строками `Время:`. -- Запись игроков на конкретные даты через inline-кнопки в Telegram. +- Опциональный лимит мест через строку `Мест:` при создании сессии. +- Интерактивная запись игроков на конкретные даты через inline-кнопки Telegram. +- Лист ожидания: если основной состав заполнен, новые игроки не переполняют сессию, а попадают в очередь. +- Повышение первого игрока из листа ожидания кнопкой GM в Telegram или Web Dashboard. - Автоматическое создание Telegram forum topic для пачки игр, если группа является форумом. -- Отмена отдельной сессии ГМом из основного сообщения расписания. -- Удаление сессий ГМом через список `/listsessions`. -- Перенос сессии через кнопку ГМа и голосование участников. -- RSVP-подтверждение за 24 часа до игры. +- Отмена отдельной сессии GM из основного сообщения расписания. +- Управление сессиями через `/listsessions` с отображением мест и очереди ожидания. +- Перенос сессии через кнопку GM и голосование активных участников. +- RSVP-подтверждение за 24 часа до игры только для основного состава. - Отправка ссылки на подключение за 5 минут до подтверждённой игры. - Экспорт будущих запланированных сессий в `.ics` через `/exportcalendar`. -- Web-панель для ГМа: список групп, список сессий, редактирование названия, времени и ссылки. +- Web-панель для GM: список групп, список сессий, редактирование названия, времени, ссылки и лимита мест. ## Разделы -- [Быстрый старт](Быстрый-старт) — быстрый локальный запуск и первичная настройка. -- [Руководство ГМа](Руководство-ГМа) — как пользоваться ботом и web-панелью. +- [Быстрый старт](Быстрый-старт) — локальный запуск и первичная настройка. +- [Руководство ГМа](Руководство-ГМа) — формат команд, запись игроков, лимиты, waitlist и переносы. - [Архитектура](Архитектура) — устройство сервисов и ключевые потоки. -- [Разработка](Разработка) — правила разработки, тесты и добавление фич. -- [Развёртывание](Развёртывание) — Docker Compose, окружение и эксплуатационные заметки. -- [База данных](База-данных) — схема БД, миграции и статусная модель. - -## Важные ограничения - -- Бот работает через long polling; webhook в текущей архитектуре не используется. -- Время в пользовательских сценариях вводится и отображается как МСК (`UTC+3`), а в базе хранится в UTC. -- Web-доступ ограничен Telegram-пользователями, которые являются ГМом соответствующей группы. -- В Native AOT избегаются reflection-heavy подходы: обработчики регистрируются явно, SQL-маппинг завязан на DTO. \ No newline at end of file +- [Разработка](Разработка) — правила разработки, тесты и локальные команды. +- [Развёртывание](Развёртывание) — Docker Compose, окружение и эксплуатация. +- [База данных](База-данных) — схема БД, миграции и статусная модель. \ No newline at end of file