Быстрый старт
Эта страница описывает минимальный запуск текущей версии GM-Relay v1.7.0.
Требования
- Docker и Docker Compose для packaged-запуска.
.NET 10 SDK для локальной разработки через GM-Relay.slnx.
- Telegram-бот, созданный через
@BotFather.
- PostgreSQL поднимается автоматически в Docker Compose или Aspire.
Docker Compose
- Создайте
.env из шаблона:
На Linux/macOS:
- Заполните обязательные переменные:
- Запустите стек:
Compose поднимает:
db: PostgreSQL 17 Alpine, БД gmrelay_db, пользователь gmrelay.
bot: образ git.codeanddice.ru/toutsu/gmrelay-bot:1.7.0.
web: образ git.codeanddice.ru/toutsu/gmrelay-web:1.7.0.
Web UI будет доступен на http://localhost:8080, если GMRELAY_WEB_PORT не переопределён.
Локальный запуск через .NET Aspire
Для standalone-запуска bot/web нужны:
ConnectionStrings__gmrelaydb — строка подключения к PostgreSQL.
Telegram__BotToken — токен Telegram-бота.
Telegram__BotUsername — имя бота без @, нужно для Telegram Login Widget.
Настройка Telegram
- Добавьте бота в группу или супергруппу.
- Для forum-групп выдайте право управления темами, иначе бот не сможет создать topic под пачку игр.
- Рекомендуемые права: отправка сообщений, закрепление сообщений, управление темами.
- Для web-login настройте домен у
@BotFather через /setdomain, если Web-панель используется не локально.
Проверка после запуска
/start должен ответить GM-Relay Bot ready. Use /help for commands.
/help должен показать формат /newsession, включая необязательную строку Мест:.
- В сообщении расписания у активной сессии должны быть кнопки записи и
Выйти.
- Owner/co-GM может нажать
⏰ Перенести, отправить 2-3 варианта времени и дедлайн; бот создаст голосование и применит победивший вариант по дедлайну.
- Web-панель должна перенаправлять неавторизованного пользователя на
/login.
- После входа через Telegram пользователь видит группы, где он назначен owner или co-GM.
- На странице группы owner видит блок управления co-GM, а owner/co-GM видят batch-операции: общий title/link, режим уведомлений, перенос всей пачки и клонирование batch.