Добавлена документация

This commit is contained in:
FrigaT
2025-12-24 05:55:26 +03:00
parent 41986987b1
commit 833d8c80d9
14 changed files with 405 additions and 89 deletions

47
docs/GETTING_STARTED.md Normal file
View File

@@ -0,0 +1,47 @@
# Быстрый старт — 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`.