SelectMenuBuilder

declare class SelectMenuBuilder extends ComponentBuilder<APISelectMenuComponent>
declare class SelectMenuBuilder extends ComponentBuilder<APISelectMenuComponent>
Represents a 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 SelectMenuBuilder({
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 SelectMenuBuilder({
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 SelectMenuBuilder({
custom_id: 'a cool select menu',
})
.setMinValues(1)
.addOptions({
label: 'Catchy',
value: 'catch',
});
const selectMenu = new SelectMenuBuilder({
custom_id: 'a cool select menu',
})
.setMinValues(1)
.addOptions({
label: 'Catchy',
value: 'catch',
});
NameTypeOptionalDescription
dataPartial<APISelectMenuComponent>YesThe API data to create this select menu with
Readonly
data:Partial<DataType>
The API data associated with this component
Inherited from ComponentBuilder
Readonly
The options within this select menu
addOptions(options):this
Adds options to this select menu
Returns
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | SelectMenuOptionBuilder>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
setDisabled(disabled?):this
Sets whether this select menu is disabled
NameTypeOptionalDescription
disabledbooleanYesWhether this select menu is disabled
setMaxValues(maxValues):this
Sets the maximum values that must be selected in the select menu
NameTypeOptionalDescription
maxValuesnumberNoThe maximum values that must be selected
setMinValues(minValues):this
Sets the minimum values that must be selected in the select menu
NameTypeOptionalDescription
minValuesnumberNoThe minimum values that must be selected
setOptions(options):this
Sets the options on this select menu
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | SelectMenuOptionBuilder>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
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.