Skip to content
Functioncorev0.10.0

RequireBotPermissions

Requires the bot to hold every permission in scope. Refuses outside a guild first, then when a permission is missing. The Administrator bit passes any scope.

The default 'channel' scope reads the bot's effective channel set (wire app_permissions), what Discord enforces in the invoked channel. The 'guild' scope reads the bot's base set from roles and requires a GuildPermissionsContext, fitting a gateway handler only. app_permissions is absent on gateway events, the channel scope refuses there as unresolved, use in: 'guild' on an event handler.

See also:the @Gated decorator from your transport package

RequireBotPermissions(
    scope: PermissionScope,
    options: RequirePermissionsOptions & { in: "guild" }
): Gate<GuildPermissionsContext, "RequireBotPermissions">

scope

The permission flag bits the bot must all hold.

options

options: RequirePermissionsOptions & { in: 'guild'; }

Pick the scope with in, and override each refusal with notInGuild or missing.