Files
BotPages/docs/API_REFERENCE.md

46 lines
2.1 KiB
Markdown
Raw Permalink 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.
# Справочник 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-вывода компиляции.