@sapphire/framework
Version:
Discord bot framework built for advanced and amazing bots.
1 lines • 2.94 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/preconditions/GuildTextOnly.ts"],"names":["AllFlowsPrecondition","ChannelType","Identifiers","container"],"mappings":";;;;;;;;;AAKO,IAAM,iBAAA,GAAN,MAAM,iBAAA,SAAyBA,qCAAqB,CAAA;AAAA,EAApD,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACN,IAAA,IAAA,CAAiB,eAAwC,CAACC,sBAAA,CAAY,WAAWA,sBAAY,CAAA,YAAA,EAAcA,uBAAY,aAAa,CAAA;AAAA;AAAA,EAE7H,WAAW,OAA+C,EAAA;AAChE,IAAO,OAAA,IAAA,CAAK,YAAa,CAAA,QAAA,CAAS,OAAQ,CAAA,OAAA,CAAQ,IAAI,CAAA,GAAI,IAAK,CAAA,EAAA,EAAO,GAAA,IAAA,CAAK,eAAgB,EAAA;AAAA;AAC5F,EAEA,MAAa,aAAa,WAA4E,EAAA;AACrG,IAAA,MAAM,OAAU,GAAA,MAAM,IAAK,CAAA,2BAAA,CAA4B,WAAW,CAAA;AAClE,IAAO,OAAA,IAAA,CAAK,YAAa,CAAA,QAAA,CAAS,OAAQ,CAAA,IAAI,IAAI,IAAK,CAAA,EAAA,EAAO,GAAA,IAAA,CAAK,eAAgB,EAAA;AAAA;AACpF,EAEA,MAAa,eAAe,WAA8E,EAAA;AACzG,IAAA,MAAM,OAAU,GAAA,MAAM,IAAK,CAAA,2BAAA,CAA4B,WAAW,CAAA;AAClE,IAAO,OAAA,IAAA,CAAK,YAAa,CAAA,QAAA,CAAS,OAAQ,CAAA,IAAI,IAAI,IAAK,CAAA,EAAA,EAAO,GAAA,IAAA,CAAK,eAAgB,EAAA;AAAA;AACpF,EAEQ,eAA+C,GAAA;AACtD,IAAA,OAAO,KAAK,KAAM,CAAA;AAAA,MACjB,YAAYC,2BAAY,CAAA,yBAAA;AAAA,MACxB,OAAS,EAAA;AAAA,KACT,CAAA;AAAA;AAEH,CAAA;AAvB2D,MAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA;AAApD,IAAM,gBAAN,GAAA;AAyBP,KAAKC,gBAAA,CAAU,OAAO,SAAU,CAAA;AAAA,EAC/B,IAAM,EAAA,eAAA;AAAA,EACN,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA;AACR,CAAC,CAAA","file":"GuildTextOnly.cjs","sourcesContent":["import { container } from '@sapphire/pieces';\nimport { ChannelType, ChatInputCommandInteraction, ContextMenuCommandInteraction, Message, type TextBasedChannelTypes } from 'discord.js';\nimport { Identifiers } from '../lib/errors/Identifiers';\nimport { AllFlowsPrecondition } from '../lib/structures/Precondition';\n\nexport class CorePrecondition extends AllFlowsPrecondition {\n\tprivate readonly allowedTypes: TextBasedChannelTypes[] = [ChannelType.GuildText, ChannelType.PublicThread, ChannelType.PrivateThread];\n\n\tpublic messageRun(message: Message): AllFlowsPrecondition.Result {\n\t\treturn this.allowedTypes.includes(message.channel.type) ? 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 this.allowedTypes.includes(channel.type) ? 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 this.allowedTypes.includes(channel.type) ? this.ok() : this.makeSharedError();\n\t}\n\n\tprivate makeSharedError(): AllFlowsPrecondition.Result {\n\t\treturn this.error({\n\t\t\tidentifier: Identifiers.PreconditionGuildTextOnly,\n\t\t\tmessage: 'You can only run this command in server text channels.'\n\t\t});\n\t}\n}\n\nvoid container.stores.loadPiece({\n\tname: 'GuildTextOnly',\n\tpiece: CorePrecondition,\n\tstore: 'preconditions'\n});\n"]}