46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
# Справочник API
|
||
|
||
Ниже краткое описание публичных API проекта BotPages.
|
||
|
||
## BotPages.Core
|
||
|
||
### `BotPagesApp`
|
||
- `AddTelegramAdapter(string token)` — регистрирует Telegram адаптер с заданным токеном.
|
||
- `AddAdapter(string messengerType, IMessengerAdapter adapter)` — регистрирует произвольный адаптер.
|
||
- `AddMiddleware(IPageMiddleware middleware)` — добавляет middleware в pipeline.
|
||
- `MapCommand<TPage>(string template)` — привязать команду к странице.
|
||
- `MapRoute<TPage>(string template)` — зарегистрировать маршрут.
|
||
- `AutoMapRoute()` — выполнить автопоиск Page?классов и зарегистрировать их маршруты.
|
||
- `Build(CancellationToken ct)` — подготовить и запустить приложение.
|
||
|
||
### `IMessengerAdapter`
|
||
- `Task<string?> SendAsync(SendRequest request, CancellationToken ct = default)` — универсальный метод отправки для всех адаптеров.
|
||
- `IAlbumBuilder CreateAlbumBuilder(PageContext ctx)` — создать билдер альбома (если поддерживается).
|
||
- `Task OnLeaveAsync(PageContext ctx, CancellationToken ct)` — вызывается при уходе со страницы.
|
||
|
||
### `SendRequest`
|
||
- `ChatId` — идентификатор чата.
|
||
- `Text`, `TextFormat` — текст и формат.
|
||
- `File`, `Caption`, `CaptionFormat` — файл и подпись.
|
||
- `Inline`, `Reply` — inline и reply клавиатуры.
|
||
- `MessageId` — id редактируемого сообщения.
|
||
- `AdapterOptions` — адаптер?специфичные опции (например `TelegramOptions`).
|
||
|
||
### `PageContext` расширения
|
||
- `SendAsync(SendRequest request, CancellationToken ct = default)` — отправить `SendRequest`.
|
||
- `SendTextAsync(...)`, `SendFileAsync(...)` — удобные оболочки, создающие `SendRequest`.
|
||
|
||
## BotPages.Telegram
|
||
- `TelegramAdapter` — реализация `IMessengerAdapter` для Telegram.
|
||
- `TelegramOptions` — настройки адаптера (например `NotifyOnSend`).
|
||
- `MessageBuilderExtensions.WithTelegramOptions` — расширение для установки `TelegramOptions` для конкретного сообщения.
|
||
|
||
|
||
# Генерация документации
|
||
|
||
Рекомендуется использовать `docfx` или `Doxygen` для генерации HTML-документации из XML-файлов, которые генерируются при сборке (см. `GenerateDocumentationFile` в `.csproj`).
|
||
|
||
|
||
# Примечания
|
||
|
||
Этот документ — краткое описание API. Для полного списка публичных типов и методов можно сгенерировать reference из XML-вывода компиляции. |