A builder that creates API-compatible JSON data for buttons.
Extends
ComponentBuilder<APIButtonComponent>Creates a new button from API data.
Example
Creating a button from an API data object:Example
Creating a button using setters and API data:Name | Type | Optional | Description |
---|---|---|---|
data | Partial<APIButtonComponent> | Yes | The API data to create this button with |
The API data associated with this component.
Inherited from ComponentBuilderClears the id of this component, defaulting to a default incremented id.
Inherited from ComponentBuilderSets the custom id for this button.
Remarks
This method is only applicable to buttons that are not using theLink
button style.Name | Type | Optional | Description |
---|---|---|---|
customId | string | No | The custom id to use |
Sets whether this button is disabled.
Name | Type | Optional | Description |
---|---|---|---|
disabled | boolean | Yes | Whether to disable this button |
Sets the emoji to display on this button.
Name | Type | Optional | Description |
---|---|---|---|
emoji | APIMessageComponentEmoji | No | The emoji to use |
Sets the id (not the custom id) for this component.
Name | Type | Optional | Description |
---|---|---|---|
id | number | No | The id for this component |
Sets the label for this button.
Name | Type | Optional | Description |
---|---|---|---|
label | string | No | The label to use |
Sets the SKU id that represents a purchasable SKU for this button.
Remarks
Only available when using premium-style buttons.Name | Type | Optional | Description |
---|---|---|---|
skuId | Snowflake | No | The SKU id to use |
Sets the style of this button.
Name | Type | Optional | Description |
---|---|---|---|
style | ButtonStyle | No | The style to use |
Sets the URL for this button.
Remarks
This method is only available to buttons using theLink
button style. Only three types of URL schemes are currently supported: https://
, http://
, and discord://
.Name | Type | Optional | Description |
---|---|---|---|
url | string | No | The URL to use |
Serializes this builder to API-compatible JSON data.