Class SlashCommandBuilder

A builder that creates API-compatible JSON data for slash commands.

Hierarchy

  • SharedNameAndDescription
  • SharedSlashCommandOptions
    • SlashCommandBuilder

Constructors

Properties

default_member_permissions: undefined | null | string

The set of permissions represented as a bit set for the command.

default_permission: undefined | boolean

Whether this command is enabled by default when the application is added to a guild.

Deprecated

Use ContextMenuCommandBuilder.setDefaultMemberPermissions or ContextMenuCommandBuilder.setDMPermission instead.

description: string

The description of this command.

description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

The description localizations of this command.

dm_permission: undefined | boolean

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.

name: string

The name of this command.

name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

The name localizations of this command.

nsfw: undefined | boolean

Whether this command is NSFW.

options: ToAPIApplicationCommandOptions[]

The options of this command.

Methods

  • Adds an attachment option.

    Parameters

    • input: SlashCommandAttachmentOption | ((builder) => SlashCommandAttachmentOption)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a boolean option.

    Parameters

    • input: SlashCommandBooleanOption | ((builder) => SlashCommandBooleanOption)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a channel option.

    Parameters

    • input: SlashCommandChannelOption | ((builder) => SlashCommandChannelOption)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds an integer option.

    Parameters

    • input: SlashCommandIntegerOption | Omit<SlashCommandIntegerOption, "addChoices"> | Omit<SlashCommandIntegerOption, "setAutocomplete"> | ((builder) => SlashCommandIntegerOption | Omit<SlashCommandIntegerOption, "addChoices"> | Omit<SlashCommandIntegerOption, "setAutocomplete">)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a mentionable option.

    Parameters

    • input: SlashCommandMentionableOption | ((builder) => SlashCommandMentionableOption)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a number option.

    Parameters

    • input: SlashCommandNumberOption | Omit<SlashCommandNumberOption, "addChoices"> | Omit<SlashCommandNumberOption, "setAutocomplete"> | ((builder) => SlashCommandNumberOption | Omit<SlashCommandNumberOption, "addChoices"> | Omit<SlashCommandNumberOption, "setAutocomplete">)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a role option.

    Parameters

    • input: SlashCommandRoleOption | ((builder) => SlashCommandRoleOption)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a string option.

    Parameters

    • input: SlashCommandStringOption | Omit<SlashCommandStringOption, "addChoices"> | Omit<SlashCommandStringOption, "setAutocomplete"> | ((builder) => SlashCommandStringOption | Omit<SlashCommandStringOption, "addChoices"> | Omit<SlashCommandStringOption, "setAutocomplete">)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Adds a new subcommand to this command.

    Parameters

    • input: SlashCommandSubcommandBuilder | ((subcommandGroup) => SlashCommandSubcommandBuilder)

      A function that returns a subcommand builder or an already built builder

    Returns SlashCommandSubcommandsOnlyBuilder

  • Adds a new subcommand group to this command.

    Parameters

    • input: SlashCommandSubcommandGroupBuilder | ((subcommandGroup) => SlashCommandSubcommandGroupBuilder)

      A function that returns a subcommand group builder or an already built builder

    Returns SlashCommandSubcommandsOnlyBuilder

  • Adds a user option.

    Parameters

    • input: SlashCommandUserOption | ((builder) => SlashCommandUserOption)

      A function that returns an option builder or an already built builder

    Returns Omit<SlashCommandBuilder, "addSubcommand" | "addSubcommandGroup">

  • Sets the description of this command.

    Parameters

    • description: string

      The description to use

    Returns SlashCommandBuilder

  • Sets a description localization for this command.

    Parameters

    • locale: "id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi"

      The locale to set

    • localizedDescription: null | string

      The localized description for the given locale

    Returns SlashCommandBuilder

  • Sets the description localizations for this command.

    Parameters

    • localizedDescriptions: null | Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

      The object of localized descriptions to set

    Returns SlashCommandBuilder

  • Sets whether this command is NSFW.

    Parameters

    • Optional nsfw: boolean

      Whether this command is NSFW

    Returns SlashCommandBuilder

  • Sets the name of this command.

    Parameters

    • name: string

      The name to use

    Returns SlashCommandBuilder

  • Sets a name localization for this command.

    Parameters

    • locale: "id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi"

      The locale to set

    • localizedName: null | string

      The localized name for the given locale

    Returns SlashCommandBuilder

  • Sets the name localizations for this command.

    Parameters

    • localizedNames: null | Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

      The object of localized names to set

    Returns SlashCommandBuilder

  • Serializes this builder to API-compatible JSON data.

    Returns RESTPostAPIChatInputApplicationCommandsJSONBody

    Remarks

    This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.

Generated using TypeDoc