Новый api отправки сообщений
This commit is contained in:
@@ -1,28 +1,37 @@
|
||||
# Быстрый старт — BotPages
|
||||
# Быстрый старт с BotPages
|
||||
|
||||
Эта инструкция поможет запустить и протестировать проект локально.
|
||||
Это руководство поможет быстро запустить demo?приложение с Telegram?адаптером.
|
||||
|
||||
Требования
|
||||
- .NET 8 SDK
|
||||
- Токен Telegram (если используете Telegram-адаптер)
|
||||
- Токен Telegram?бота (для demo)
|
||||
|
||||
Сборка
|
||||
|
||||
```bash
|
||||
dotnet build
|
||||
```
|
||||
|
||||
Запуск демонстрации
|
||||
1. Откройте проект `Demo`.
|
||||
2. Внесите токен Telegram (если используется) в код инициализации адаптера или в переменные окружения проекта Demo.
|
||||
3. Запустите:
|
||||
Запуск demo
|
||||
|
||||
1. Установите переменную окружения `TELEGRAM_TOKEN`:
|
||||
|
||||
```bash
|
||||
setx TELEGRAM_TOKEN "<token>" # Windows
|
||||
export TELEGRAM_TOKEN="<token>" # Linux/macOS
|
||||
```
|
||||
|
||||
2. Запустите demo:
|
||||
|
||||
```bash
|
||||
dotnet run --project Demo
|
||||
```
|
||||
|
||||
Пример конфигурации приложения
|
||||
|
||||
```csharp
|
||||
var app = new BotPagesApp(stateStorage, logger)
|
||||
.AddAdapter("telegram", new TelegramAdapterSetup("<token>"))
|
||||
.AddTelegramAdapter(token)
|
||||
.AddDefaultPage<WelcomePage>()
|
||||
.MapCommand<WelcomePage>("/start")
|
||||
.AddMiddleware(new LoggingMiddleware(logger));
|
||||
@@ -30,18 +39,9 @@ var app = new BotPagesApp(stateStorage, logger)
|
||||
await app.Build(CancellationToken.None);
|
||||
```
|
||||
|
||||
Как написать страницу
|
||||
- Наследуйте `StatefulPage` для страниц с пер-сессионным состоянием.
|
||||
- Наследуйте `SingletonPage` для одноэкземплярных страниц.
|
||||
- Переопределите `OnEnter`, `OnUpdate`, `OnText`, `OnButton`, `OnFile`, `OnError` по необходимости.
|
||||
- Для автоматического маппинга маршрутов используйте `AutoMapRoute()`.
|
||||
Основные понятия
|
||||
- `SendRequest` — единый формат запроса на отправку (текст, файлы, кнопки, адаптер?опции). Используйте `PageContext.SendAsync` для отправки.
|
||||
- `Page` / `StatefulPage` / `SingletonPage` — модели страниц и их жизненный цикл.
|
||||
- `IPageMiddleware` — middleware выполняется для каждого входящего обновления.
|
||||
|
||||
Тестирование команд
|
||||
- Команды регистрируются в `BotPagesApp.MapCommand`.
|
||||
- Шаблон команд поддерживает именованные и опциональные аргументы: `/cmd {a} {b?}`.
|
||||
|
||||
Подсказки
|
||||
- Middleware выполняются в том порядке, в котором их добавляют в `BotPagesApp`.
|
||||
- Команды имеют приоритет над обработкой страниц (если текст начинается с `/`).
|
||||
|
||||
Если требуется подробный справочник API — смотрите `docs/API_REFERENCE.md`.
|
||||
Далее: см. `docs/API_REFERENCE.md` для описания публичных API.
|
||||
Reference in New Issue
Block a user