Vibe.Gateway.Telegram.Config (vibe v0.2.1)

Copy Markdown View Source

Runtime configuration for the Telegram gateway.

Values come from application env first and environment variables second so the gateway can be configured in releases without recompilation while remaining easy to exercise in tests.

Summary

Functions

Loads Telegram gateway config from application/env settings.

Types

method()

@type method() :: :polling | :webhook

t()

@type t() :: %Vibe.Gateway.Telegram.Config{
  allow_all?: boolean(),
  allowed_users: MapSet.t(String.t()),
  bot_id: String.t() | nil,
  bot_username: String.t() | nil,
  buffer_threshold: pos_integer(),
  edit_interval_ms: pos_integer(),
  free_response_chats: MapSet.t(String.t()),
  group_allowed_chats: MapSet.t(String.t()),
  group_allowed_users: MapSet.t(String.t()),
  ignored_threads: MapSet.t(String.t()),
  method: method(),
  poll_interval_ms: pos_integer(),
  poll_max_consecutive_conflicts: pos_integer(),
  poll_receive_timeout_ms: pos_integer(),
  poll_timeout_s: pos_integer(),
  require_mention?: boolean(),
  stream_mode: :edit | :draft | :auto,
  token: String.t(),
  webhook_secret: String.t() | nil,
  webhook_url: String.t() | nil
}

Functions

load(overrides \\ [])

@spec load(keyword()) :: {:ok, t()} | {:error, term()}

Loads Telegram gateway config from application/env settings.