LemonChannels.Adapters.Telegram.Transport.ActionRunner (lemon_channels v0.1.0)

View Source

Executes Telegram transport-local side effects produced by the ingress pipeline.

The action vocabulary stays intentionally small and adapter-specific so PR5 can simplify Telegram ingress without introducing a shared framework.

Summary

Types

callbacks()

@type callbacks() :: %{
  optional(:execute_inbound_message) => (map(), map() -> map()),
  optional(:handle_callback_query) => (map(), map() -> any()),
  optional(:index_known_target) => (map(), map() -> map()),
  optional(:submit_buffer) => (map(), map() -> map()),
  optional(:process_media_group) => (map(), map() -> any()),
  optional(:send_approval_request) => (map(), map() -> any()),
  optional(:maybe_log_drop) => (map(), map(), term() -> any()),
  optional(:start_async_task) => (map(), (-> any()) -> any())
}

Functions

run(state, actions, callbacks)

@spec run(map(), list(), callbacks()) :: map()