Class: Subcommand<PreParseReturn, Options>
The class to extends for commands that have subcommands. Specify the subcommands through the Subcommand.Options.subcommands option.
Note that you should not make all your commands extend this class, only the ones that have subcommands. The reason for this is that this class implements Command.messageRun and Command.chatInputRun which you wouldn't necessarily want to do for commands that don't have subcommands. Furthermore, it also just adds general unnecessary memory overhead.
Extends
Command<PreParseReturn,Options>
Type parameters
| Type parameter | Value |
|---|---|
PreParseReturn extends Args | Args |
Options extends Options | Options |
Constructors
new Subcommand()
new Subcommand<
PreParseReturn,Options>(context:LoaderContext,options:Options):Subcommand<PreParseReturn,Options>
Parameters
| Parameter | Type |
|---|---|
context | LoaderContext |
options | Options |
Returns
Subcommand<PreParseReturn, Options>
Overrides
`Command< PreParseReturn, Options
.constructor`
Source
projects/plugins/packages/subcommands/src/lib/Subcommand.ts:59
Properties
aliases
aliases: readonly
string[]
The aliases for the piece.
Inherited from
Command.aliases
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:877
applicationCommandRegistry
readonlyapplicationCommandRegistry:ApplicationCommandRegistry
The application command registry associated with this command.
Since
3.0.0
Inherited from
Command.applicationCommandRegistry
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:962
caseInsensitiveSubcommands
caseInsensitiveSubcommands:
boolean=false
Whether to use case insensitive subcommands. This is only relevant for message-command styled commands as
chat input commands are always lowercase. This can be enabled through clientOptions.caseInsensitiveCommands.
Source
projects/plugins/packages/subcommands/src/lib/Subcommand.ts:57
description
description:
string
A basic summary about the command
Since
1.0.0
Inherited from
Command.description
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:924
detailedDescription
detailedDescription:
DetailedDescriptionCommand
Longer version of command's summary and how to use it
Since
1.0.0
Inherited from
Command.detailedDescription
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:934
enabled
enabled:
boolean
Whether or not the piece is enabled.
Inherited from
Command.enabled
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:234
fullCategory
readonlyfullCategory: readonlystring[]
The full category for the command, can be overridden by setting the Command.Options.fullCategory option.
If Command.Options.fullCategory is not set, then:
- If the command is loaded from the file system, then this is the command's location in file system relative to
the commands folder. For example, if you have a command located at
commands/General/Information/info.tsthen this property will be['General', 'Info']. - If the command is virtual, then this will be
[].
Since
2.0.0
Inherited from
Command.fullCategory
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:946
lexer
privatelexer:Lexer
The lexer to be used for command parsing
Since
1.0.0
Inherited from
Command.lexer
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:968
location
readonlylocation:PieceLocation
The location metadata for the piece's file.
Inherited from
Command.location
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:226
name
readonlyname:string
The name of the piece.
Inherited from
Command.name
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:230
options
readonlyoptions:Options
The raw options passed to this Piece
Inherited from
Command.options
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:238
parsedSubcommandMappings
parsedSubcommandMappings:
SubcommandMappingArray
The parsed subcommand mappings that were provided with the SubcommandOptions.subcommands option. This is built at construction time and is used to determine which subcommand to run.
Source
projects/plugins/packages/subcommands/src/lib/Subcommand.ts:51
preconditions
preconditions:
PreconditionContainerArray
The preconditions to be run.
Since
1.0.0
Inherited from
Command.preconditions
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:929
rawName
rawName:
string
The raw name of the command as provided through file name or constructor options.
This is exactly what is set by the developer, completely unmodified internally by the framework.
Unlike the name which gets lowercased for storing it uniquely in the CommandStore.
Inherited from
Command.rawName
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:919
store
readonlystore:CommandStore
The store that contains the piece.
Inherited from
Command.store
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:222
strategy
strategy:
IUnorderedStrategy
The strategy to use for the lexer.
Since
1.0.0
Inherited from
Command.strategy
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:951
subcommandPreconditions
readonlysubcommandPreconditions:Map<string,PreconditionContainerArray>
The preconditions to be run for each specified subcommand.
Since
4.1.0
Source
projects/plugins/packages/subcommands/src/lib/Subcommand.ts:45
typing
typing:
boolean
If SapphireClient.typing is true, it can be overridden for a specific command using this property, set via its options. Otherwise, this property will be ignored.
Default
true
Inherited from
Command.typing
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:957
Accessors
category
getcategory():null|string
The main category for the command, if any.
This getter retrieves the first value of Command.fullCategory, if it has at least one item, otherwise it
returns null.
Note
You can set Command.Options.fullCategory to override the built-in category resolution.
Returns
null | string
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:990
container
getcontainer():Container
A reference to the Container object for ease of use.
See
container
Returns
Container
Source
node_modules/@sapphire/pieces/dist/esm/index.d.mts:244
parentCategory
getparentCategory():null|string
The parent category for the command.
This getter retrieves the last value of Command.fullCategory, if it has at least one item, otherwise it
returns null.
Note
You can set Command.Options.fullCategory to override the built-in category resolution.
Returns
null | string
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:1008
subCategory
getsubCategory():null|string
The sub-category for the command, if any.
This getter retrieves the second value of Command.fullCategory, if it has at least two items, otherwise
it returns null.
Note
You can set Command.Options.fullCategory to override the built-in category resolution.
Returns
null | string
Source
node_modules/@sapphire/framework/dist/esm/index.d.mts:999
Methods
#findSubcommand()
private#findSubcommand(mappings:SubcommandMappingMethod[],expectedName:string):object|object
Parameters
| Parameter | Type |
|---|---|
mappings | SubcommandMappingMethod[] |
expectedName | string |
Returns
object | object
Source
projects/plugins/packages/subcommands/src/lib/Subcommand.ts:530