@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
1 lines • 1.7 kB
Source Map (JSON)
{"version":3,"sources":["../../../../../../src/lib/utils/preconditions/containers/ClientPermissionsPrecondition.ts"],"names":[],"mappings":";;;AAwBO,IAAM,8BAAA,GAAN,MAAM,8BAAkG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQvG,YAAY,WAAmC,EAAA;AACrD,IAAA,IAAA,CAAK,IAAO,GAAA,mBAAA;AACZ,IAAA,IAAA,CAAK,OAAU,GAAA;AAAA,MACd,WAAA,EAAa,IAAI,mBAAA,CAAoB,WAAW;AAAA,KACjD;AAAA;AAEF,CAAA;AAd+G,MAAA,CAAA,8BAAA,EAAA,+BAAA,CAAA;AAAxG,IAAM,6BAAN,GAAA","file":"ClientPermissionsPrecondition.mjs","sourcesContent":["import { PermissionsBitField, type PermissionResolvable } from 'discord.js';\nimport type { PreconditionSingleResolvableDetails } from '../PreconditionContainerSingle';\n\n/**\n * Constructs a contextful permissions precondition requirement.\n * @since 1.0.0\n * @example\n * ```typescript\n * export class CoreCommand extends Command {\n * public constructor(context: Command.Context) {\n * super(context, {\n * preconditions: [\n * 'GuildOnly',\n * new ClientPermissionsPrecondition('ADD_REACTIONS')\n * ]\n * });\n * }\n *\n * public messageRun(message: Message, args: Args) {\n * // ...\n * }\n * }\n * ```\n */\nexport class ClientPermissionsPrecondition implements PreconditionSingleResolvableDetails<'ClientPermissions'> {\n\tpublic name: 'ClientPermissions';\n\tpublic context: { permissions: PermissionsBitField };\n\n\t/**\n\t * Constructs a precondition container entry.\n\t * @param permissions The permissions that will be required by this command.\n\t */\n\tpublic constructor(permissions: PermissionResolvable) {\n\t\tthis.name = 'ClientPermissions';\n\t\tthis.context = {\n\t\t\tpermissions: new PermissionsBitField(permissions)\n\t\t};\n\t}\n}\n"]}