ButtonBuilder
declare class ButtonBuilder extends ComponentBuilder<APIButtonComponent>
declare class ButtonBuilder extends ComponentBuilder<APIButtonComponent>
Represents a button component
Extends
ComponentBuilder<APIButtonComponent>constructor(data?)
Creates a new button from API data
Example
Creating a button from an API data objectconst button = new ButtonBuilder({
custom_id: 'a cool button',
style: ButtonStyle.Primary,
label: 'Click Me',
emoji: {
name: 'smile',
id: '123456789012345678',
},
});
const button = new ButtonBuilder({
custom_id: 'a cool button',
style: ButtonStyle.Primary,
label: 'Click Me',
emoji: {
name: 'smile',
id: '123456789012345678',
},
});
Example
Creating a button using setters and API dataconst button = new ButtonBuilder({
style: ButtonStyle.Secondary,
label: 'Click Me',
})
.setEmoji({ name: '🙂' })
.setCustomId('another cool button');
const button = new ButtonBuilder({
style: ButtonStyle.Secondary,
label: 'Click Me',
})
.setEmoji({ name: '🙂' })
.setCustomId('another cool button');
Name | Type | Optional | Description |
---|---|---|---|
data | Partial<APIButtonComponent> | Yes | The API data to create this button with |
Readonly
data
:
Partial<DataType>
The API data associated with this component
Inherited from ComponentBuildersetCustomId(customId)
:
this
Sets 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 for this button |
setDisabled(disabled?)
:
this
Sets whether this button is disabled
Name | Type | Optional | Description |
---|---|---|---|
disabled | boolean | Yes | Whether to disable this button |
setEmoji(emoji)
:
this
Sets the emoji to display on this button
Name | Type | Optional | Description |
---|---|---|---|
emoji | APIMessageComponentEmoji | No | The emoji to display on this button |
setLabel(label)
:
this
Sets the label for this button
Name | Type | Optional | Description |
---|---|---|---|
label | string | No | The label to display on this button |
setStyle(style)
:
this
Sets the style of this button
Name | Type | Optional | Description |
---|---|---|---|
style | ButtonStyle | No | The style of the button |
setURL(url)
:
this
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 open when this button is clicked |
toJSON()
:
APIButtonComponent
Serializes this component to an API-compatible JSON object