Create wiki page 'Home'
+43
@@ -0,0 +1,43 @@
|
||||
# GM-Relay Wiki
|
||||
|
||||
GM-Relay — Telegram-бот и Blazor-панель управления для организации TTRPG-сессий. Текущее состояние документации соответствует репозиторию `Toutsu/GmRelayBot` на 2026-04-24.
|
||||
|
||||
## Текущий стек
|
||||
|
||||
- Версия проекта: `1.1.5`.
|
||||
- Платформа: `.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.
|
||||
- Web UI: Blazor Server с Telegram Login Widget.
|
||||
- База данных: PostgreSQL 17.
|
||||
- Доступ к данным: Npgsql, Dapper, Dapper.AOT; миграции через DbUp.
|
||||
- Деплой: Docker Compose, отдельные образы `gmrelay-bot` и `gmrelay-web`.
|
||||
|
||||
## Основные возможности
|
||||
|
||||
- Создание пачки игровых сессий одной командой `/newsession` с несколькими строками `Время:`.
|
||||
- Запись игроков на конкретные даты через inline-кнопки в Telegram.
|
||||
- Автоматическое создание Telegram forum topic для пачки игр, если группа является форумом.
|
||||
- Отмена отдельной сессии ГМом из основного сообщения расписания.
|
||||
- Удаление сессий ГМом через список `/listsessions`.
|
||||
- Перенос сессии через кнопку ГМа и голосование участников.
|
||||
- RSVP-подтверждение за 24 часа до игры.
|
||||
- Отправка ссылки на подключение за 5 минут до подтверждённой игры.
|
||||
- Экспорт будущих запланированных сессий в `.ics` через `/exportcalendar`.
|
||||
- Web-панель для ГМа: список групп, список сессий, редактирование названия, времени и ссылки.
|
||||
|
||||
## Разделы
|
||||
|
||||
- [Quick Start](Quick-Start) — быстрый локальный запуск и первичная настройка.
|
||||
- [GM Guide](GM-Guide) — как пользоваться ботом и web-панелью.
|
||||
- [Architecture](Architecture) — устройство сервисов и ключевые потоки.
|
||||
- [Development](Development) — правила разработки, тесты и добавление фич.
|
||||
- [Deployment](Deployment) — Docker Compose, окружение и эксплуатационные заметки.
|
||||
- [Database](Database) — схема БД, миграции и статусная модель.
|
||||
|
||||
## Важные ограничения
|
||||
|
||||
- Бот работает через long polling; webhook в текущей архитектуре не используется.
|
||||
- Время в пользовательских сценариях вводится и отображается как МСК (`UTC+3`), а в базе хранится в UTC.
|
||||
- Web-доступ ограничен Telegram-пользователями, которые являются ГМом соответствующей группы.
|
||||
- В Native AOT избегаются reflection-heavy подходы: обработчики регистрируются явно, SQL-маппинг завязан на DTO.
|
||||
Reference in New Issue
Block a user