StringSelectMenuBuilder

declare class StringSelectMenuBuilder extends BaseSelectMenuBuilder<APIStringSelectComponent>
declare class StringSelectMenuBuilder extends BaseSelectMenuBuilder<APIStringSelectComponent>
A builder that creates API-compatible JSON data for string select menus.
constructor(data?)
Creates a new select menu from API data.
Example
Creating a select menu from an API data object:
const selectMenu = new StringSelectMenuBuilder({
custom_id: 'a cool select menu',
placeholder: 'select an option',
max_values: 2,
options: [
{ label: 'option 1', value: '1' },
{ label: 'option 2', value: '2' },
{ label: 'option 3', value: '3' },
],
});
const selectMenu = new StringSelectMenuBuilder({
custom_id: 'a cool select menu',
placeholder: 'select an option',
max_values: 2,
options: [
{ label: 'option 1', value: '1' },
{ label: 'option 2', value: '2' },
{ label: 'option 3', value: '3' },
],
});
Example
Creating a select menu using setters and API data:
const selectMenu = new StringSelectMenuBuilder({
custom_id: 'a cool select menu',
})
.setMinValues(1)
.addOptions({
label: 'Catchy',
value: 'catch',
});
const selectMenu = new StringSelectMenuBuilder({
custom_id: 'a cool select menu',
})
.setMinValues(1)
.addOptions({
label: 'Catchy',
value: 'catch',
});
NameTypeOptionalDescription
dataPartial<APIStringSelectComponent>Yes
The API data to create this select menu with
Readonly
data:Partial<DataType>
The API data associated with this component.
Inherited from ComponentBuilder
The options within this select menu.
addOptions(options):this
Adds options to this select menu.
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder>No
The options to add
setCustomId(customId):this
Sets the custom id for this select menu.
NameTypeOptionalDescription
customIdstringNo
The custom id to use
Inherited from BaseSelectMenuBuilder
setDisabled(disabled?):this
Sets whether this select menu is disabled.
NameTypeOptionalDescription
disabledbooleanYes
Whether this select menu is disabled
Inherited from BaseSelectMenuBuilder
setMaxValues(maxValues):this
Sets the maximum values that must be selected in the select menu.
NameTypeOptionalDescription
maxValuesnumberNo
The maximum values that must be selected
Inherited from BaseSelectMenuBuilder
setMinValues(minValues):this
Sets the minimum values that must be selected in the select menu.
NameTypeOptionalDescription
minValuesnumberNo
The minimum values that must be selected
Inherited from BaseSelectMenuBuilder
setOptions(options):this
Sets the options for this select menu.
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder>No
The options to set
setPlaceholder(placeholder):this
Sets the placeholder for this select menu.
NameTypeOptionalDescription
placeholderstringNo
The placeholder to use
Inherited from BaseSelectMenuBuilder
spliceOptions(index, deleteCount, options):this
Removes, replaces, or inserts options for this select menu.
Remarks
This method behaves similarly to Array.prototype.splice(). It's useful for modifying and adjusting the order of existing options.
Example
Remove the first option:
selectMenu.spliceOptions(0, 1);
selectMenu.spliceOptions(0, 1);
Example
Remove the first n option:
const n = 4;
selectMenu.spliceOptions(0, n);
const n = 4;
selectMenu.spliceOptions(0, n);
Example
Remove the last option:
selectMenu.spliceOptions(-1, 1);
selectMenu.spliceOptions(-1, 1);
NameTypeOptionalDescription
indexnumberNo
The index to start at
deleteCountnumberNo
The number of options to remove
optionsRestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder>No
The replacing option objects or builders
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.