declare class StringSelectMenuBuilder extends BaseSelectMenuBuilder<APIStringSelectComponent>
declare class StringSelectMenuBuilder extends BaseSelectMenuBuilder<APIStringSelectComponent>
A builder that creates API-compatible JSON data for string select menus.
Extends
BaseSelectMenuBuilder<APIStringSelectComponent>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',
});
Name | Type | Optional | Description |
---|---|---|---|
data | Partial<APIStringSelectComponent> | Yes | The API data to create this select menu with |
Readonly
data
:
Partial<DataType>
The API data associated with this component.
Inherited from ComponentBuilderReadonly
The options within this select menu.
addOptions(options)
:
this
Adds options to this select menu.
Name | Type | Optional | Description |
---|---|---|---|
options | RestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder> | No | The options to add |
setCustomId(customId)
:
this
Sets the custom id for this select menu.
Name | Type | Optional | Description |
---|---|---|---|
customId | string | No | The custom id to use |
setDisabled(disabled?)
:
this
Sets whether this select menu is disabled.
Name | Type | Optional | Description |
---|---|---|---|
disabled | boolean | Yes | Whether this select menu is disabled |
setMaxValues(maxValues)
:
this
Sets the maximum values that must be selected in the select menu.
Name | Type | Optional | Description |
---|---|---|---|
maxValues | number | No | The maximum values that must be selected |
setMinValues(minValues)
:
this
Sets the minimum values that must be selected in the select menu.
Name | Type | Optional | Description |
---|---|---|---|
minValues | number | No | The minimum values that must be selected |
setOptions(options)
:
this
Sets the options for this select menu.
Name | Type | Optional | Description |
---|---|---|---|
options | RestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder> | No | The options to set |
setPlaceholder(placeholder)
:
this
Sets the placeholder for this select menu.
Name | Type | Optional | Description |
---|---|---|---|
placeholder | string | No | The placeholder to use |
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);
Name | Type | Optional | Description |
---|---|---|---|
index | number | No | The index to start at |
deleteCount | number | No | The number of options to remove |
options | RestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder> | No | The replacing option objects or builders |
toJSON()
:
APIStringSelectComponent
Serializes this builder to API-compatible JSON data.