-
Notifications
You must be signed in to change notification settings - Fork 3
Button
extends Component
Represents a Component of type Button. Buttons are interactive message components that when pressed Discord fires an interactionCreate event. The Button class contains methods to retrieve and set different attributes of a Button.
For accepted data
fields see Button-Resolvable.
General rules you should follow:
- Link buttons must have
url
, and cannot haveid
. And vise versa. - Link buttons do not fire
interactionCreate
; meaning you cannot listen to a link button to know when it is pressed. - An Action Row can contain up to 5 buttons only, and a button can never be in the same row as a select menu.
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
Sets the disabled
field to true
.
Returns self.
This method only operates on data in memory.
Returns: Component
Sets the disabled
field to false
.
Returns self.
This method only operates on data in memory.
Returns: Component
Parameter | Type |
---|---|
property | string |
Returns the value of the provided property
name.
This method only operates on data in memory.
Returns: any
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
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
Parameter | Type | Optional |
---|---|---|
emoji | Emoji-Resolvable/string | |
id | Emoji-ID-Resolvable | ✔ |
animated | boolean | ✔ |
Sets an emoji
field for the Button. emoji
can be a string to indicate emoji name
in which case id
and animated
parameters will be available for use.
For Unicode emotes you only need to set name
field to the desired Unicode.
Returns self.
This method only operates on data in memory.
Returns: Button
Parameter | Type |
---|---|
label | string |
Sets the label
field of the Button. Must be in the range 0 < label
< 81.
Returns self.
This method only operates on data in memory.
Returns: Button
Parameter | Type |
---|---|
style | string/number |
Sets the style
attribute of the Button.
See buttonStyle
enumeration for acceptable style
values.
Returns self.
This method only operates on data in memory.
Returns: Button
Parameter | Type |
---|---|
url | string |
Sets the url
for a Link Button. If Button's style was not link
it will be forcibly changed to that.
Keep in mind, a Link Button cannot have an id
.
Returns self.
This method only operates on data in memory.
Returns: Button