ButtonBuilder
BuilderOn this page
ButtonBuilder is a fluent payload builder. Chain setters, then pass the builder to send, reply, or command registration.
Constructor
ButtonBuilder.new() The class table is callable, so ButtonBuilder() is the same as .new.
No parameters.
local discord = require("discord")
local object = discord.ButtonBuilder()Properties
- Name
data- Type
any- Access
- readonly
- Description
- Instance field
ButtonBuilder.data. Read it after the object is constructed or wrapped from Gateway/REST data. - Availability
- Populated from the Gateway/REST payload or constructor for this ButtonBuilder.
Methods
Performs from on this ButtonBuilder. Call it from bot code when you need that operation on the current object.
Signature
ButtonBuilder.from(data) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
data |
any |
required | Passed through to the implementation as written. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
ButtonBuilder.from(data)ButtonBuilder:setCustomId()
#Set the CustomId field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setCustomId(id) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
id |
string |
required | Snowflake id string. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setCustomId("123")ButtonBuilder:setDisabled()
#Set the Disabled field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setDisabled(disabled) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
disabled |
any |
required | Passed through to the implementation as written. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setDisabled(disabled)ButtonBuilder:setEmoji()
#Set the Emoji field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setEmoji(emoji) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
emoji |
any |
required | Passed through to the implementation as written. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setEmoji(emoji)ButtonBuilder:setLabel()
#Set the Label field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setLabel(label) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
label |
any |
required | Passed through to the implementation as written. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setLabel(label)ButtonBuilder:setSKUId()
#Set the SKUId field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setSKUId(skuId) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
skuId |
string |
required | Snowflake id string. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setSKUId("123")ButtonBuilder:setStyle()
#Set the Style field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setStyle(style) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
style |
any |
optional | Passed through to the implementation as written. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setStyle(style)ButtonBuilder:setURL()
#Set the URL field. Builders return this ButtonBuilder so setters can be chained.
Signature
ButtonBuilder:setURL(url) Parameters
| Name | Type | Required | Behavior |
|---|---|---|---|
url |
any |
required | Passed through to the implementation as written. |
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:setURL(url)ButtonBuilder:toJSON()
#Serialize this ButtonBuilder into a Lua table suitable for REST or debugging.
Signature
ButtonBuilder:toJSON() Parameters
No parameters.
Returns
ButtonBuilder — the same instance, for chaining.
Example
local discord = require("discord")
-- object is a ButtonBuilder
object:toJSON()Examples
local discord = require("discord")
local object = discord.ButtonBuilder({})Related APIs
ActionRowBuilder · AttachmentBuilder · ChannelSelectMenuBuilder · CheckboxBuilder · ContainerBuilder · ContextMenuCommandBuilder · EmbedBuilder · FileBuilder
Version: discord 1.2.4 · runtime 1.0.0