Interface: SubcommandMappingMethod
@sapphire/plugin-subcommands.SubcommandMappingMethod
Describes how a subcommand method maps to the actual implementation of that subcommand.
Hierarchy
SubcommandMappingBase
Pick
<Command.Options
,"runIn"
|"preconditions"
>↳
SubcommandMappingMethod
Properties
chatInputRun
• Optional
chatInputRun: string
| (interaction
: ChatInputCommandInteraction
<CacheType
>, context
: ChatInputCommandContext
) => unknown
The class method to call when invoking this subcommand through a chat input command, or a callback implementation of the subcommand.
Note that when providing a string you have to first define the method that will be called within your function before this will allow any values. This is to ensure that the property is strictly typed to the context of the class.
Example
chatInputRun: 'runModeratorConfig'
Example
chatInputRun(interaction: Subcommand.Interaction) {
return interaction.reply(`<@${interaction.user.id}> has been granted moderator`);
}
Defined in
projects/plugins/packages/subcommands/src/lib/SubcommandMappings.ts:79
default
• Optional
default: boolean
Whether this is the default subcommand when none is provided.
Note that this is effectively only used for Message based subcommand (those implementing messageRun) because the subcommand is always provided for chat input commands.
Defined in
projects/plugins/packages/subcommands/src/lib/SubcommandMappings.ts:37
messageRun
• Optional
messageRun: string
| (message
: Message
<boolean
>, args
: Args
, context
: MessageCommandContext
) => unknown
The class method to call when invoking this subcommand through a message command, or a callback implementation of the subcommand.
Note that when providing a string you have to first define the method that will be called within your function before this will allow any values. This is to ensure that the property is strictly typed to the context of the class.
Example
messageRun: 'runAdminConfig'
Example
messageRun(message: Message) {
return message.reply(`<@${message.author.id}> has been granted admin`);
}
Defined in
projects/plugins/packages/subcommands/src/lib/SubcommandMappings.ts:58
name
• name: string
The name of this subcommand, or subcommand group
Inherited from
SubcommandMappingBase.name
Defined in
projects/plugins/packages/subcommands/src/lib/SubcommandMappings.ts:14
preconditions
• Optional
preconditions: readonly PreconditionEntryResolvable
[]
The Preconditions to be run, accepts an array of their names.
Seealso
PreconditionContainerArray
Since
1.0.0
Default
[]
Inherited from
Pick.preconditions
Defined in
node_modules/@sapphire/framework/dist/index.d.ts:1746
runIn
• Optional
runIn: null
| ChannelType
| CommandOptionsRunType
| CommandOptionsRunTypeEnum
| readonly (ChannelType
| CommandOptionsRunType
| CommandOptionsRunTypeEnum
)[]
The channels the command should run in. If set to null
, no precondition entry will be added. Some optimizations are applied when given an array to reduce the amount of preconditions run (e.g. 'GUILD_TEXT'
and 'GUILD_NEWS'
becomes 'GUILD_ANY'
, and if both 'DM'
and 'GUILD_ANY'
are defined, then no precondition entry is added as it runs in all channels).
Since
2.0.0
Default
null
Inherited from
Pick.runIn
Defined in
node_modules/@sapphire/framework/dist/index.d.ts:1807
type
• Optional
type: "method"
This subcommand mapping describes a subcommand method and can therefore only ever be 'method'
Overrides
SubcommandMappingBase.type
Defined in
projects/plugins/packages/subcommands/src/lib/SubcommandMappings.ts:29