@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
1 lines • 2.44 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/preconditions/GuildVoiceOnly.ts"],"names":[],"mappings":";;;;;;AAMO,IAAM,iBAAA,GAAN,MAAM,iBAAA,SAAyB,oBAAqB,CAAA;AAAA,EACnD,WAAW,OAA+C,EAAA;AAChE,IAAO,OAAA,cAAA,CAAe,QAAQ,OAAO,CAAA,GAAI,KAAK,EAAG,EAAA,GAAI,KAAK,eAAgB,EAAA;AAAA;AAC3E,EAEA,MAAa,aAAa,WAA4E,EAAA;AACrG,IAAA,MAAM,OAAU,GAAA,MAAM,IAAK,CAAA,2BAAA,CAA4B,WAAW,CAAA;AAClE,IAAA,OAAO,eAAe,OAAO,CAAA,GAAI,KAAK,EAAG,EAAA,GAAI,KAAK,eAAgB,EAAA;AAAA;AACnE,EAEA,MAAa,eAAe,WAA8E,EAAA;AACzG,IAAA,MAAM,OAAU,GAAA,MAAM,IAAK,CAAA,2BAAA,CAA4B,WAAW,CAAA;AAClE,IAAA,OAAO,eAAe,OAAO,CAAA,GAAI,KAAK,EAAG,EAAA,GAAI,KAAK,eAAgB,EAAA;AAAA;AACnE,EAEQ,eAA+C,GAAA;AACtD,IAAA,OAAO,KAAK,KAAM,CAAA;AAAA,MACjB,YAAY,WAAY,CAAA,0BAAA;AAAA,MACxB,OAAS,EAAA;AAAA,KACT,CAAA;AAAA;AAEH,CAAA;AArB2D,MAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA;AAApD,IAAM,gBAAN,GAAA;AAuBP,KAAK,SAAA,CAAU,OAAO,SAAU,CAAA;AAAA,EAC/B,IAAM,EAAA,gBAAA;AAAA,EACN,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA;AACR,CAAC,CAAA","file":"GuildVoiceOnly.mjs","sourcesContent":["import { isVoiceChannel } from '@sapphire/discord.js-utilities';\nimport { container } from '@sapphire/pieces';\nimport type { ChatInputCommandInteraction, ContextMenuCommandInteraction, Message } from 'discord.js';\nimport { Identifiers } from '../lib/errors/Identifiers';\nimport { AllFlowsPrecondition } from '../lib/structures/Precondition';\n\nexport class CorePrecondition extends AllFlowsPrecondition {\n\tpublic messageRun(message: Message): AllFlowsPrecondition.Result {\n\t\treturn isVoiceChannel(message.channel) ? this.ok() : this.makeSharedError();\n\t}\n\n\tpublic async chatInputRun(interaction: ChatInputCommandInteraction): AllFlowsPrecondition.AsyncResult {\n\t\tconst channel = await this.fetchChannelFromInteraction(interaction);\n\t\treturn isVoiceChannel(channel) ? this.ok() : this.makeSharedError();\n\t}\n\n\tpublic async contextMenuRun(interaction: ContextMenuCommandInteraction): AllFlowsPrecondition.AsyncResult {\n\t\tconst channel = await this.fetchChannelFromInteraction(interaction);\n\t\treturn isVoiceChannel(channel) ? this.ok() : this.makeSharedError();\n\t}\n\n\tprivate makeSharedError(): AllFlowsPrecondition.Result {\n\t\treturn this.error({\n\t\t\tidentifier: Identifiers.PreconditionGuildVoiceOnly,\n\t\t\tmessage: 'You can only run this command in server voice channels.'\n\t\t});\n\t}\n}\n\nvoid container.stores.loadPiece({\n\tname: 'GuildVoiceOnly',\n\tpiece: CorePrecondition,\n\tstore: 'preconditions'\n});\n"]}