Functioncorev0.7.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
scope: PermissionScopeThe 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.