{"version":3,"sources":["../../../../src/lib/types/Events.ts"],"names":["SubcommandPluginIdentifiers"],"mappings":";;;AAKO,IAAM,sBAAyB,GAAA;AAAA,EACrC,yBAA2B,EAAA,2BAAA;AAAA,EAC3B,sBAAwB,EAAA,wBAAA;AAAA,EACxB,0BAA4B,EAAA,4BAAA;AAAA,EAC5B,wBAA0B,EAAA,0BAAA;AAAA,EAC1B,0BAA4B,EAAA,4BAAA;AAAA,EAE5B,uBAAyB,EAAA,yBAAA;AAAA,EACzB,oBAAsB,EAAA,sBAAA;AAAA,EACtB,wBAA0B,EAAA,0BAAA;AAAA,EAC1B,sBAAwB,EAAA,wBAAA;AAAA,EACxB,wBAA0B,EAAA,0BAAA;AAAA,EAE1B,+CAAiD,EAAA,iDAAA;AAAA,EACjD,iDAAmD,EAAA;AACpD;AAEY,IAAA,2BAAA,qBAAAA,4BAAL,KAAA;AACN,EAAAA,6BAAA,0BAA2B,CAAA,GAAA,0BAAA;AAC3B,EAAAA,6BAAA,4BAA6B,CAAA,GAAA,4BAAA;AAC7B,EAAAA,6BAAA,oBAAqB,CAAA,GAAA,oBAAA;AAHV,EAAAA,OAAAA,4BAAAA;AAAA,CAAA,EAAA,2BAAA,IAAA,EAAA","file":"Events.mjs","sourcesContent":["import type { Args, ChatInputCommand, ChatInputCommandContext, MessageCommand, MessageCommandDeniedPayload, UserError } from '@sapphire/framework';\nimport type { Message } from 'discord.js';\nimport type { Subcommand } from '../Subcommand';\nimport type { ChatInputCommandSubcommandMappingMethod, MessageSubcommandMappingMethod, SubcommandMappingMethod } from './SubcommandMappings';\n\nexport const SubcommandPluginEvents = {\n\tChatInputSubcommandDenied: 'chatInputSubcommandDenied' as const,\n\tChatInputSubcommandRun: 'chatInputSubcommandRun' as const,\n\tChatInputSubcommandSuccess: 'chatInputSubcommandSuccess' as const,\n\tChatInputSubcommandError: 'chatInputSubcommandError' as const,\n\tChatInputSubcommandNoMatch: 'chatInputSubcommandNoMatch' as const,\n\n\tMessageSubcommandDenied: 'messageSubcommandDenied' as const,\n\tMessageSubcommandRun: 'messageSubcommandRun' as const,\n\tMessageSubcommandSuccess: 'messageSubcommandSuccess' as const,\n\tMessageSubcommandError: 'messageSubcommandError' as const,\n\tMessageSubcommandNoMatch: 'messageSubcommandNoMatch' as const,\n\n\tSubcommandMappingIsMissingMessageCommandHandler: 'subcommandMappingIsMissingMessageCommandHandler' as const,\n\tSubcommandMappingIsMissingChatInputCommandHandler: 'subcommandMappingIsMissingChatInputCommandHandler' as const\n};\n\nexport enum SubcommandPluginIdentifiers {\n\tMessageSubcommandNoMatch = 'messageSubcommandNoMatch',\n\tChatInputSubcommandNoMatch = 'chatInputSubcommandNoMatch',\n\tSubcommandNotFound = 'subcommandNotFound'\n}\n\nexport interface MessageSubcommandNoMatchContext extends MessageCommand.RunContext {\n\tcommand: Subcommand;\n\tidentifier: SubcommandPluginIdentifiers.MessageSubcommandNoMatch;\n\tmessage: string;\n\tpossibleSubcommandName: string | null;\n\tpossibleSubcommandGroupOrName: string | null;\n}\n\nexport interface ChatInputSubcommandNoMatchContext extends ChatInputCommandContext {\n\tcommand: Subcommand;\n\tidentifier: SubcommandPluginIdentifiers.ChatInputSubcommandNoMatch;\n\tmessage: string;\n}\n\nexport interface IMessageSubcommandPayload {\n\tmessage: Message;\n\tcommand: Subcommand;\n}\n\nexport interface MessageSubcommandDeniedPayload\n\textends Omit<MessageCommandDeniedPayload, 'parameters' | 'command'>,\n\t\tMessageSubcommandAcceptedPayload {\n\tparameters?: string;\n}\n\nexport interface MessageSubcommandAcceptedPayload extends IMessageSubcommandPayload {\n\tcontext: MessageCommand.RunContext;\n\tmatchedSubcommandMapping: SubcommandMappingMethod;\n}\n\nexport interface MessageSubcommandRunPayload extends MessageSubcommandAcceptedPayload {}\n\nexport interface MessageSubcommandErrorPayload extends MessageSubcommandRunPayload {}\n\nexport interface MessageSubcommandSuccessPayload extends MessageSubcommandRunPayload {\n\tresult: unknown;\n}\n\nexport interface IChatInputSubcommandPayload {\n\tinteraction: ChatInputCommand.Interaction;\n\tcommand: Subcommand;\n}\n\nexport interface ChatInputSubcommandAcceptedPayload extends IChatInputSubcommandPayload {\n\tcontext: ChatInputCommand.RunContext;\n\tmatchedSubcommandMapping: SubcommandMappingMethod;\n}\n\nexport interface ChatInputSubcommandDeniedPayload extends ChatInputSubcommandAcceptedPayload {}\n\nexport interface ChatInputSubcommandRunPayload extends ChatInputSubcommandAcceptedPayload {}\n\nexport interface ChatInputSubcommandErrorPayload extends ChatInputSubcommandRunPayload {}\n\nexport interface ChatInputSubcommandSuccessPayload extends ChatInputSubcommandRunPayload {\n\tresult: unknown;\n}\n\ndeclare module 'discord.js' {\n\tinterface ClientEvents {\n\t\t[SubcommandPluginEvents.ChatInputSubcommandDenied]: [error: UserError, payload: ChatInputSubcommandDeniedPayload];\n\t\t[SubcommandPluginEvents.ChatInputSubcommandRun]: [\n\t\t\tinteraction: ChatInputCommand.Interaction,\n\t\t\tsubcommand: ChatInputCommandSubcommandMappingMethod,\n\t\t\tpayload: ChatInputSubcommandRunPayload\n\t\t];\n\t\t[SubcommandPluginEvents.ChatInputSubcommandSuccess]: [\n\t\t\tinteraction: ChatInputCommand.Interaction,\n\t\t\tsubcommand: ChatInputCommandSubcommandMappingMethod,\n\t\t\tpayload: ChatInputSubcommandSuccessPayload\n\t\t];\n\t\t[SubcommandPluginEvents.ChatInputSubcommandError]: [error: unknown, payload: ChatInputSubcommandErrorPayload];\n\t\t[SubcommandPluginEvents.ChatInputSubcommandNoMatch]: [interaction: ChatInputCommand.Interaction, context: ChatInputSubcommandNoMatchContext];\n\n\t\t[SubcommandPluginEvents.MessageSubcommandDenied]: [error: UserError, payload: MessageSubcommandDeniedPayload];\n\t\t[SubcommandPluginEvents.MessageSubcommandRun]: [\n\t\t\tmessage: Message,\n\t\t\tsubcommand: MessageSubcommandMappingMethod,\n\t\t\tpayload: MessageSubcommandRunPayload\n\t\t];\n\t\t[SubcommandPluginEvents.MessageSubcommandSuccess]: [\n\t\t\tmessage: Message,\n\t\t\tsubcommand: MessageSubcommandMappingMethod,\n\t\t\tpayload: MessageSubcommandSuccessPayload\n\t\t];\n\t\t[SubcommandPluginEvents.MessageSubcommandError]: [error: unknown, payload: MessageSubcommandErrorPayload];\n\t\t[SubcommandPluginEvents.MessageSubcommandNoMatch]: [message: Message, args: Args, context: MessageSubcommandNoMatchContext];\n\n\t\t[SubcommandPluginEvents.SubcommandMappingIsMissingMessageCommandHandler]: [\n\t\t\tmessage: Message,\n\t\t\tsubcommand: SubcommandMappingMethod,\n\t\t\tpayload: MessageSubcommandAcceptedPayload\n\t\t];\n\t\t[SubcommandPluginEvents.SubcommandMappingIsMissingChatInputCommandHandler]: [\n\t\t\tmessage: ChatInputCommand.Interaction,\n\t\t\tsubcommand: SubcommandMappingMethod,\n\t\t\tpayload: ChatInputSubcommandAcceptedPayload\n\t\t];\n\t}\n}\n"]}