Skip to content
Interfacehttpv0.10.2

InteractionGateContext

The interaction gate context on the HTTP transport. It extends the scalar GateContextBase with the raw interaction payload and the user and member the payload carries. A gate reading button fields, inferred from its ctx annotation, is rejected on a slash handler.

The http transport delivers no role-derived permission sets, so memberGuildPermissions and appGuildPermissions are absent. A gate requiring GuildPermissionsContext (a permission gate with in: 'guild') is a compile error on an http handler.

interface InteractionGateContext<
    Repliable extends Repliables = Repliables
> extends GateContextBase

Repliable

The interaction type the gate reads, narrowing which handlers accept it.

Repliable extends Repliables = Repliables

appPermissions

The bot's permissions in the invoked channel, the wire app_permissions value. Null on gateway events.

readonly appPermissions: bigint | null

Inherited from:GateContextBase

channelId

The channel id, or null when the source carries none.

readonly channelId: string | null

Inherited from:GateContextBase

core

readonly core: Core

declaredRoute

The handler's own route, as kind:route (slash:daily, button:confirm). A handler registered on several reports the one this dispatch matched. Null when the handler declares none, which covers a plain event handler, the unhandled default, and a gate run outside a handler.

readonly declaredRoute: string | null

Inherited from:GateContextBase

dispatch

The bag for this dispatch, the same instance the handler and its middleware hold. Every middleware runs before the first gate. A gate therefore reads what a middleware wrote.

readonly dispatch: DispatchContext

Inherited from:GateContextBase

interaction

The raw interaction payload, which is the reply target.

readonly interaction: Repliable

kind

Narrow on this before reading interaction.

readonly kind: 'interaction'

memberPermissions

The member's permission bits, or null outside a guild. On an interaction these are the channel-scoped permissions the payload contains, and on a gateway event they're the member's guild-level ones.

readonly memberPermissions: bigint | null

Inherited from:GateContextBase

memberRoleIds

The member's role ids without the everyone role, the shape a raw interaction payload contains. Empty outside a guild or when the source contains none.

readonly memberRoleIds: readonly string[]

Inherited from:GateContextBase

user

Every repliable interaction contains a user.

readonly user: APIUser

userId

The acting user's id, or null on an event that carries none.

readonly userId: string | null

Inherited from:GateContextBase