You are reading the documentation for the next version of discord.js. Documentation for v13/v14+ has been moved to old.discordjs.dev

SlashCommandBuilder

export declare class SlashCommandBuilder
export declare class SlashCommandBuilder
A builder that creates API-compatible JSON data for slash commands.
Readonly
default_member_permissions:Permissions_2 | null | undefined
The set of permissions represented as a bit set for the command.
DeprecatedReadonly
default_permission:boolean | undefined
Whether this command is enabled by default when the application is added to a guild.
Readonly
description_localizations?:LocalizationMap
The description localizations of this command.
Readonly
description:string
The description of this command.
Readonly
dm_permission:boolean | undefined
Indicates whether the command is available in direct messages with the application.
Remarks
By default, commands are visible. This property is only for global commands.
Readonly
name_localizations?:LocalizationMap
The name localizations of this command.
Readonly
name:string
The name of this command.
Readonly
nsfw:boolean | undefined
Whether this command is NSFW.
The options of this command.
Readonly
description_localizations?:LocalizationMap
The description localizations of this command.
Inherited from SharedNameAndDescription
Readonly
description:string
The description of this command.
Inherited from SharedNameAndDescription
Readonly
name_localizations?:LocalizationMap
The name localizations of this command.
Inherited from SharedNameAndDescription
Readonly
name:string
The name of this command.
Inherited from SharedNameAndDescription
Adds a new subcommand to this command.
NameTypeOptionalDescription
inputSlashCommandSubcommandBuilder | ((subcommandGroup: SlashCommandSubcommandBuilder) => SlashCommandSubcommandBuilder)NoA function that returns a subcommand builder or an already built builder
addSubcommandGroup(input):SlashCommandSubcommandsOnlyBuilder
Adds a new subcommand group to this command.
NameTypeOptionalDescription
inputSlashCommandSubcommandGroupBuilder | ((subcommandGroup: SlashCommandSubcommandGroupBuilder) => SlashCommandSubcommandGroupBuilder)NoA function that returns a subcommand group builder or an already built builder
setDefaultMemberPermissions(permissions):this
Sets the default permissions a member should have in order to run the command.
Remarks
You can set this to '0' to disable the command by default.
NameTypeOptionalDescription
permissionsPermissions_2 | bigint | number | null | undefinedNoThe permissions bit field to set
Deprecated
setDefaultPermission(value):this
Use or instead.
Deprecated
Sets whether the command is enabled by default when the application is added to a guild.
Remarks
If set to false, you will have to later PUT the permissions for this command.
NameTypeOptionalDescription
valuebooleanNoWhether or not to enable this command by default
setDMPermission(enabled):this
Sets if the command is available in direct messages with the application.
Remarks
By default, commands are visible. This method is only for global commands.
NameTypeOptionalDescription
enabledboolean | null | undefinedNoWhether the command should be enabled in direct messages
setNSFW(nsfw?):this
Sets whether this command is NSFW.
NameTypeOptionalDescription
nsfwbooleanYesWhether this command is NSFW
Serializes this builder to API-compatible JSON data.
Remarks
This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.
addAttachmentOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds an attachment option.
NameTypeOptionalDescription
inputSlashCommandAttachmentOption | ((builder: SlashCommandAttachmentOption) => SlashCommandAttachmentOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addBooleanOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a boolean option.
NameTypeOptionalDescription
inputSlashCommandBooleanOption | ((builder: SlashCommandBooleanOption) => SlashCommandBooleanOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addChannelOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a channel option.
NameTypeOptionalDescription
inputSlashCommandChannelOption | ((builder: SlashCommandChannelOption) => SlashCommandChannelOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addIntegerOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds an integer option.
NameTypeOptionalDescription
inputPick<SlashCommandIntegerOption, Exclude<keyof SlashCommandIntegerOption, 'addChoices'>> | Pick<SlashCommandIntegerOption, Exclude<keyof SlashCommandIntegerOption, 'setAutocomplete'>> | SlashCommandIntegerOption | ((builder: SlashCommandIntegerOption) => Pick<SlashCommandIntegerOption, Exclude<keyof SlashCommandIntegerOption, 'addChoices'>> | Pick<SlashCommandIntegerOption, Exclude<keyof SlashCommandIntegerOption, 'setAutocomplete'>> | SlashCommandIntegerOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addMentionableOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a mentionable option.
NameTypeOptionalDescription
inputSlashCommandMentionableOption | ((builder: SlashCommandMentionableOption) => SlashCommandMentionableOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addNumberOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a number option.
NameTypeOptionalDescription
inputPick<SlashCommandNumberOption, Exclude<keyof SlashCommandNumberOption, 'addChoices'>> | Pick<SlashCommandNumberOption, Exclude<keyof SlashCommandNumberOption, 'setAutocomplete'>> | SlashCommandNumberOption | ((builder: SlashCommandNumberOption) => Pick<SlashCommandNumberOption, Exclude<keyof SlashCommandNumberOption, 'addChoices'>> | Pick<SlashCommandNumberOption, Exclude<keyof SlashCommandNumberOption, 'setAutocomplete'>> | SlashCommandNumberOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addRoleOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a role option.
NameTypeOptionalDescription
inputSlashCommandRoleOption | ((builder: SlashCommandRoleOption) => SlashCommandRoleOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addStringOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a string option.
NameTypeOptionalDescription
inputPick<SlashCommandStringOption, Exclude<keyof SlashCommandStringOption, 'addChoices'>> | Pick<SlashCommandStringOption, Exclude<keyof SlashCommandStringOption, 'setAutocomplete'>> | SlashCommandStringOption | ((builder: SlashCommandStringOption) => Pick<SlashCommandStringOption, Exclude<keyof SlashCommandStringOption, 'addChoices'>> | Pick<SlashCommandStringOption, Exclude<keyof SlashCommandStringOption, 'setAutocomplete'>> | SlashCommandStringOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
addUserOption(input):ShouldOmitSubcommandFunctions extends true ? Pick<this, Exclude<keyof this, "addSubcommand" | "addSubcommandGroup">> : this
Adds a user option.
NameTypeOptionalDescription
inputSlashCommandUserOption | ((builder: SlashCommandUserOption) => SlashCommandUserOption)NoA function that returns an option builder or an already built builder
Inherited from SharedSlashCommandOptions
setDescription(description):this
Sets the description of this command.
NameTypeOptionalDescription
descriptionstringNoThe description to use
Inherited from SharedNameAndDescription
setDescriptionLocalization(locale, localizedDescription):this
Sets a description localization for this command.
NameTypeOptionalDescription
localeLocaleStringNoThe locale to set
localizedDescriptionstring | nullNoThe localized description for the given locale
Inherited from SharedNameAndDescription
setDescriptionLocalizations(localizedDescriptions):this
Sets the description localizations for this command.
NameTypeOptionalDescription
localizedDescriptionsLocalizationMap | nullNoThe object of localized descriptions to set
Inherited from SharedNameAndDescription
setName(name):this
Sets the name of this command.
NameTypeOptionalDescription
namestringNoThe name to use
Inherited from SharedNameAndDescription
setNameLocalization(locale, localizedName):this
Sets a name localization for this command.
NameTypeOptionalDescription
localeLocaleStringNoThe locale to set
localizedNamestring | nullNoThe localized name for the given locale
Inherited from SharedNameAndDescription
setNameLocalizations(localizedNames):this
Sets the name localizations for this command.
NameTypeOptionalDescription
localizedNamesLocalizationMap | nullNoThe object of localized names to set
Inherited from SharedNameAndDescription