Files
BotPages/docs/API_REFERENCE.md

2.1 KiB
Raw Blame History

Справочник 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-вывода компиляции.