{"version":3,"sources":["../../../../src/lib/utils/const.ts"],"names":[],"mappings":"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","file":"const.mjs","sourcesContent":["import { container, UserError, type ChatInputCommand, type MessageCommand } from '@sapphire/framework';\nimport type { Subcommand, SubcommandMapping, SubcommandMappingGroup } from '@sapphire/plugin-subcommands';\n\nimport { ApplicationCommandOptionType } from 'discord-api-types/v10';\nimport type { SlashCommandSubcommandBuilder, SlashCommandBuilder } from '@discordjs/builders';\n\nimport { subCommandsRegistry, subCommandsGroupRegistry } from './functions';\nimport { SubcommandsAdvancedEvents } from './types';\n\n/**\n * **Hooks**\n *\n * Methods needed to register commands as subcommands and commands in subcommand groups.\n *\n * @since 1.0.0\n */\nexport const RegisterSubcommandsHooks = {\n\tsubcommands: (piece: Subcommand, context?: SlashCommandBuilder) => {\n\t\tconst subcommands = subCommandsRegistry.get(piece.name);\n\t\tif (!subcommands) {\n\t\t\tcontainer.logger.error(\n\t\t\t\t`[Subcommands-Plugin]: An attempt was made to obtain the subcommands for the parent command ${piece.name} but no command was registered for it.`\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const { slashCommand, commandPiece } of subcommands.values()) {\n\t\t\tif (slashCommand && context) {\n\t\t\t\tcontext.options.push(slashCommand);\n\t\t\t}\n\n\t\t\tconst subcommand: SubcommandMapping = {\n\t\t\t\tname: slashCommand?.name ?? commandPiece?.name ?? '',\n\t\t\t\ttype: 'method',\n\t\t\t\tchatInputRun: commandPiece.chatInputRun\n\t\t\t\t\t? async (i, c) => {\n\t\t\t\t\t\t\tconst result = await piece.preconditions.chatInputRun(i, piece as unknown as ChatInputCommand);\n\t\t\t\t\t\t\tif (result.isErr()) {\n\t\t\t\t\t\t\t\treturn piece.container.client.emit(\n\t\t\t\t\t\t\t\t\tSubcommandsAdvancedEvents.ChatInputSubcommandDenied as any,\n\t\t\t\t\t\t\t\t\tresult.err().unwrapOr(new UserError({ context: c, identifier: 'SubcommandDenied', message: 'Unknown error' })),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcommand: piece,\n\t\t\t\t\t\t\t\t\t\tinteraction: i,\n\t\t\t\t\t\t\t\t\t\tsubcommand: subcommand as any,\n\t\t\t\t\t\t\t\t\t\tmatchedSubcommandMapping: commandPiece.name,\n\t\t\t\t\t\t\t\t\t\tcontext: c\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn commandPiece.chatInputRun!(i, c);\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\n\t\t\t\tmessageRun: commandPiece.messageRun\n\t\t\t\t\t? async (m, a, c) => {\n\t\t\t\t\t\t\tconst result = await piece.preconditions.messageRun(m, piece as unknown as MessageCommand);\n\t\t\t\t\t\t\tif (result.isErr()) {\n\t\t\t\t\t\t\t\treturn piece.container.client.emit(\n\t\t\t\t\t\t\t\t\tSubcommandsAdvancedEvents.MessageSubcommandDenied as any,\n\t\t\t\t\t\t\t\t\tresult.err().unwrapOr(new UserError({ context: c, identifier: 'SubcommandDenied', message: 'Unknown error' })),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcommand: piece,\n\t\t\t\t\t\t\t\t\t\tmessage: m,\n\t\t\t\t\t\t\t\t\t\tsubcommand: subcommand as any,\n\t\t\t\t\t\t\t\t\t\tmatchedSubcommandMapping: commandPiece.name,\n\t\t\t\t\t\t\t\t\t\tcontext: c\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn commandPiece.messageRun!(m, a, c);\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t};\n\n\t\t\tpiece.parsedSubcommandMappings.push(subcommand);\n\t\t}\n\t},\n\tgroups: (piece: Subcommand, context?: SlashCommandBuilder) => {\n\t\tconst subcommandsGroups = subCommandsGroupRegistry.get(piece.name);\n\t\tif (!subcommandsGroups) {\n\t\t\tcontainer.logger.error(\n\t\t\t\t`[Subcommands-Group-Plugin]: An attempt was made to obtain the subcommand groups for the parent command ${piece.name} but no command was registered for it.`\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const [name, commands] of subcommandsGroups) {\n\t\t\tfor (const { slashCommand, commandPiece } of [...commands.values()]) {\n\t\t\t\tconst groupMapping = piece.parsedSubcommandMappings.find(\n\t\t\t\t\t({ name: x, type }) => x === name && type === 'group'\n\t\t\t\t) as SubcommandMappingGroup;\n\n\t\t\t\tconst subcommand: SubcommandMapping = {\n\t\t\t\t\tname: slashCommand?.name ?? commandPiece?.name ?? '',\n\t\t\t\t\ttype: 'method',\n\t\t\t\t\tchatInputRun: commandPiece.chatInputRun\n\t\t\t\t\t\t? async (i, c) => {\n\t\t\t\t\t\t\t\tconst result = await piece.preconditions.chatInputRun(i, piece as unknown as ChatInputCommand);\n\t\t\t\t\t\t\t\tif (result.isErr()) {\n\t\t\t\t\t\t\t\t\treturn piece.container.client.emit(\n\t\t\t\t\t\t\t\t\t\tSubcommandsAdvancedEvents.ChatInputSubcommandDenied as any,\n\t\t\t\t\t\t\t\t\t\tresult\n\t\t\t\t\t\t\t\t\t\t\t.err()\n\t\t\t\t\t\t\t\t\t\t\t.unwrapOr(new UserError({ context: c, identifier: 'SubcommandDenied', message: 'Unknown error' })),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcommand: piece,\n\t\t\t\t\t\t\t\t\t\t\tinteraction: i,\n\t\t\t\t\t\t\t\t\t\t\tsubcommand: subcommand as any,\n\t\t\t\t\t\t\t\t\t\t\tmatchedSubcommandMapping: commandPiece.name,\n\t\t\t\t\t\t\t\t\t\t\tcontext: c\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn commandPiece.chatInputRun!(i, c);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined,\n\n\t\t\t\t\tmessageRun: commandPiece.messageRun\n\t\t\t\t\t\t? async (m, a, c) => {\n\t\t\t\t\t\t\t\tconst result = await piece.preconditions.messageRun(m, piece as unknown as MessageCommand);\n\t\t\t\t\t\t\t\tif (result.isErr()) {\n\t\t\t\t\t\t\t\t\treturn piece.container.client.emit(\n\t\t\t\t\t\t\t\t\t\tSubcommandsAdvancedEvents.MessageSubcommandDenied as any,\n\t\t\t\t\t\t\t\t\t\tresult\n\t\t\t\t\t\t\t\t\t\t\t.err()\n\t\t\t\t\t\t\t\t\t\t\t.unwrapOr(new UserError({ context: c, identifier: 'SubcommandDenied', message: 'Unknown error' })),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcommand: piece,\n\t\t\t\t\t\t\t\t\t\t\tmessage: m,\n\t\t\t\t\t\t\t\t\t\t\tsubcommand: subcommand as any,\n\t\t\t\t\t\t\t\t\t\t\tmatchedSubcommandMapping: commandPiece.name,\n\t\t\t\t\t\t\t\t\t\t\tcontext: c\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn commandPiece.messageRun!(m, a, c);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined\n\t\t\t\t};\n\n\t\t\t\tif (groupMapping) groupMapping.entries.push(subcommand);\n\t\t\t\telse {\n\t\t\t\t\tpiece.parsedSubcommandMappings.push({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\ttype: 'group',\n\t\t\t\t\t\tentries: [subcommand]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (context) {\n\t\t\t\tfor (const option of context.options) {\n\t\t\t\t\tconst data = option.toJSON();\n\t\t\t\t\tif (data.name === name && data.type === ApplicationCommandOptionType.SubcommandGroup) {\n\t\t\t\t\t\t(option as unknown as { options: SlashCommandSubcommandBuilder[] }).options?.push(\n\t\t\t\t\t\t\t...[...commands.values()].filter(({ slashCommand }) => slashCommand).map(({ slashCommand }) => slashCommand!)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n"]}