SelectMenu - Bilal2453/discordia-components GitHub Wiki

extends Component

Represents a Component of type SelectMenu. SelectMenus are interactive message components that offers the user multiple choices form, once one is selected an interactionCreate event is fired.

For accepted data fields see SelectMenu-Resolvable.

General rules you should follow:

  1. Only a single SelectMenu can be sent in each Action Row.
  2. SelectMenu and Buttons cannot be in the same row.

Constructor

SelectMenu(data)

Parameter Type
data SelectMenu-Resolvable

Properties Inherited From Component

Name Type Description
actionRow number The Action Row this component is using.
disabled boolean Whether the current component is disabled or not.
id string The component custom_id. Nil for some components such as Link Buttons.
type number The component type. See componentType enumeration for further info.

Methods Inherited From Component

disable()

Sets the disabled field to true.

Returns self.

This method only operates on data in memory.

Returns: Component


enable()

Sets the disabled field to false.

Returns self.

This method only operates on data in memory.

Returns: Component


get(property)

Parameter Type
property string

Returns the value of the provided property name.

This method only operates on data in memory.

Returns: any


raw()

Returns a table value of what the raw value Discord would accept is like based on assumptions of the current component's field names.

By design, user should never need to use this method.

This method only operates on data in memory.

Returns: table


set(property, value)

Parameter Type Optional
property string/table
value any

Sets the provided field(s) value. If property is a table, value is ignored; the key of an entry is treated as the field name, and its value is the field's value. Otherwise if property is a string, value is required. Keep in mind this will validate the inputs and error if not valid.

This method only operates on data in memory.

Returns: Component


Methods

maxValues(val)

Parameter Type
val number

The upmost amount of options to be selected. Must be in range val <= 25.

Returns self.

This method only operates on data in memory.

Returns: SelectMenu


minValues(val)

Parameter Type
val number

The least required amount of options to be selected. Must be in range 0 < val <= 25.

Returns self.

This method only operates on data in memory.

Returns: SelectMenu


option(label, value, description, default, emoji)

Parameter Type Optional
label table/string
value string
description string
default boolean
emoji Emoji-Resolvable

Creates a new option in the menu with the provided values. If label is a table you should pass rest of parameters as fields in that table, the only required fields are label and value.

Returns self.

This method only operates on data in memory.

Returns: SelectMenu


options(options)

Parameter Type
options table

Overrides current options with the ones provided. options is an array of tables (25 at most), each representing an option, available fields for each option are: label and value required, description, default, emoji optional; See option method's parameters for more info.

Returns self.

This method only operates on data in memory.

Returns: SelectMenu


placeholder(placeholder)

Parameter Type
placeholder string

A placeholder in case nothing is specified.

Returns self.

This method only operates on data in memory.

Returns: SelectMenu