Files
BotPages/docs/GETTING_STARTED.md
2025-12-24 05:55:26 +03:00

47 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Быстрый старт — BotPages
Эта инструкция поможет запустить и протестировать проект локально.
Требования
- .NET 8 SDK
- Токен Telegram (если используете Telegram-адаптер)
Сборка
```bash
dotnet build
```
Запуск демонстрации
1. Откройте проект `Demo`.
2. Внесите токен Telegram (если используется) в код инициализации адаптера или в переменные окружения проекта Demo.
3. Запустите:
```bash
dotnet run --project Demo
```
Пример конфигурации приложения
```csharp
var app = new BotPagesApp(stateStorage, logger)
.AddAdapter("telegram", new TelegramAdapterSetup("<token>"))
.AddDefaultPage<WelcomePage>()
.MapCommand<WelcomePage>("/start")
.AddMiddleware(new LoggingMiddleware(logger));
await app.Build(CancellationToken.None);
```
Как написать страницу
- Наследуйте `StatefulPage` для страниц с пер-сессионным состоянием.
- Наследуйте `SingletonPage` для одноэкземплярных страниц.
- Переопределите `OnEnter`, `OnUpdate`, `OnText`, `OnButton`, `OnFile`, `OnError` по необходимости.
- Для автоматического маппинга маршрутов используйте `AutoMapRoute()`.
Тестирование команд
- Команды регистрируются в `BotPagesApp.MapCommand`.
- Шаблон команд поддерживает именованные и опциональные аргументы: `/cmd {a} {b?}`.
Подсказки
- Middleware выполняются в том порядке, в котором их добавляют в `BotPagesApp`.
- Команды имеют приоритет над обработкой страниц (если текст начинается с `/`).
Если требуется подробный справочник API — смотрите `docs/API_REFERENCE.md`.