Jido.Chat.Telegram.Extensions (Jido Chat Telegram v1.0.0)

Copy Markdown View Source

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

extension_capabilities()

@type extension_capabilities() :: %{optional(atom()) => extension_status()}

extension_status()

@type extension_status() :: :native | :fallback | :unsupported

Functions

answer_callback_query(callback_query_id, opts \\ [])

@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.

capabilities()

@spec capabilities() :: extension_capabilities()

Returns Telegram extension capability statuses.

parse_update(update)

@spec parse_update(map()) ::
  {:ok, Jido.Chat.Telegram.UpdateEnvelope.t()} | {:error, term()}

Parses a Telegram update into a typed extension envelope.

send_document(chat_id, document, opts \\ [])

@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.

send_photo(chat_id, photo, opts \\ [])

@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.