The context passed to Slink.handle_event/2.
Handlers are stateless; the context carries what they need to respond:
:transport—:socket_modeor:http, whichever delivered the event.:bot_token— the bot token (xoxb-…) for Web API calls, e.g. viasend_message/4. May benilif the transport was started without one.:bot_user_id— the bot's own user id (U…), discovered viaauth.testand cached bySlink.Identity. PowersSlink.mentions_me?/1and lets a handler tell its own posts apart.niluntil the one-off lookup lands (shortly after connect / the first event).:event— theSlink.Eventbeing handled. Carried here soreply/3needs only the context (channel and thread come from the event, the token from the context). Set by the dispatcher before your handler runs.
Summary
Types
@type t() :: %Slink.Context{ bot_token: String.t() | nil, bot_user_id: String.t() | nil, event: Slink.Event.t() | nil, transport: :socket_mode | :http }