Skip to content
Interfacegatewayv0.7.5

EventGateContext

The event arm. It extends GuildPermissionsContext with the event payload and the djs objects derived from it. Names is the event(s) the gate supports, inferred from the ctx annotation, so a gate that reads one event's payload is rejected on a handler for a different event. The default supports every event.

interface EventGateContext<
    Names extends ValidNonInteractionKeys = ValidNonInteractionKeys
> extends GuildPermissionsContext

appGuildPermissions

The bot's base permission set from the transport's cache. Null when the cached member is unavailable.

readonly appGuildPermissions: bigint | null

Inherited from:GuildPermissionsContext

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

The running framework, with the gateway's bot and bus.

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

eventName

The event being handled.

readonly eventName: Names

guild

The guild derived from the payload, or null.

readonly guild: Guild | null

kind

The literal 'event', narrow on it before reading payload.

readonly kind: 'event'

member

The acting member derived from the payload, or null.

readonly member: GuildMember | null

memberGuildPermissions

The member's base permission set, roles only, matching djs GuildMember.permissions. Null when the member is unavailable.

readonly memberGuildPermissions: bigint | null

Inherited from:GuildPermissionsContext

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

payload

The event's arguments, typed to that event's args tuple.

readonly payload: ClientEvents[Names]

user

The acting user derived from the payload, or null when the event carries none.

readonly user: User | null

userId

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

readonly userId: string | null

Inherited from:GateContextBase