StringSelectMenuBuilder

export declare class StringSelectMenuBuilder extends BaseSelectMenuBuilder<APIStringSelectComponent>
export declare class StringSelectMenuBuilder extends BaseSelectMenuBuilder<APIStringSelectComponent>
Represents a string select menu component
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>YesThe 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
Returns
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder>NoThe options to add to this select menu
setCustomId(customId):this
Sets the custom id for this select menu
NameTypeOptionalDescription
customIdstringNoThe custom id to use for this select menu
Inherited from BaseSelectMenuBuilder
setDisabled(disabled?):this
Sets whether this select menu is disabled
NameTypeOptionalDescription
disabledbooleanYesWhether this select menu is disabled
Inherited from BaseSelectMenuBuilder
setMaxValues(maxValues):this
Sets the maximum values that must be selected in the select menu
NameTypeOptionalDescription
maxValuesnumberNoThe 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
minValuesnumberNoThe minimum values that must be selected
Inherited from BaseSelectMenuBuilder
setOptions(options):this
Sets the options on this select menu
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder>NoThe options to set on this select menu
setPlaceholder(placeholder):this
Sets the placeholder for this select menu
NameTypeOptionalDescription
placeholderstringNoThe placeholder to use for this select menu
Inherited from BaseSelectMenuBuilder
spliceOptions(index, deleteCount, options):this
Removes, replaces, or inserts options in the string select menu.
Remarks
This method behaves similarly to Array.prototype.splice.It's useful for modifying and adjusting order of the already-existing options of a string select menu.
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
indexnumberNoThe index to start at
deleteCountnumberNoThe number of options to remove
optionsRestOrArray<APISelectMenuOption | StringSelectMenuOptionBuilder>NoThe replacing option objects or builders
Serializes this component to an API-compatible JSON object
Remarks
This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.