Skip to content
Interfacecorev0.12.0

GuildPermissionsContext

The context the guild-scoped permission gates require. It adds the base permission sets computed from roles alone, which only the gateway transport can provide from its cache. The http transport's context does not define these fields.

interface GuildPermissionsContext extends GateContextBase

appGuildPermissions

The bot's base permission set from the transport's cache. It's 0n in a guild the bot isn't in. It's null when the guild is cached but the bot's member isn't.

readonly appGuildPermissions: bigint | null

channelId

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

readonly channelId: 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 can therefore read what a middleware wrote.

readonly dispatch: DispatchContext

Inherited from:GateContextBase

memberGuildPermissions

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

readonly memberGuildPermissions: bigint | null

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

userId

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

readonly userId: string | null

Inherited from:GateContextBase