Telegram-specific extension API for features outside core Jido.Chat.Adapter.
This module is intentionally platform-specific and keeps Telegram-only semantics
out of jido_chat core abstractions.
Summary
Functions
Answers a Telegram callback query.
Returns Telegram extension capability statuses.
Parses a Telegram update into a typed extension envelope.
Sends a Telegram document message and returns a typed media result.
Sends a Telegram photo message and returns a typed media result.
Types
@type extension_capabilities() :: %{optional(atom()) => extension_status()}
@type extension_status() :: :native | :fallback | :unsupported
Functions
@spec answer_callback_query( String.t(), keyword() | map() | Jido.Chat.Telegram.CallbackAnswerOptions.t() ) :: {:ok, Jido.Chat.Telegram.CallbackAnswerResult.t()} | {:error, term()}
Answers a Telegram callback query.
@spec capabilities() :: extension_capabilities()
Returns Telegram extension capability statuses.
@spec parse_update(map()) :: {:ok, Jido.Chat.Telegram.UpdateEnvelope.t()} | {:error, term()}
Parses a Telegram update into a typed extension envelope.
@spec send_document( String.t() | integer(), String.t() | {:file, String.t()} | {:file_content, binary(), String.t()}, keyword() | map() | Jido.Chat.Telegram.DocumentOptions.t() ) :: {:ok, Jido.Chat.Telegram.MediaMessage.t()} | {:error, term()}
Sends a Telegram document message and returns a typed media result.
@spec send_photo( String.t() | integer(), String.t() | {:file, String.t()} | {:file_content, binary(), String.t()}, keyword() | map() | Jido.Chat.Telegram.PhotoOptions.t() ) :: {:ok, Jido.Chat.Telegram.MediaMessage.t()} | {:error, term()}
Sends a Telegram photo message and returns a typed media result.