DiscordLua
discorddiscord
v1.2.4
Install

ButtonBuilder

Builder
On this page

ButtonBuilder is a fluent payload builder. Chain setters, then pass the builder to send, reply, or command registration.

builder Module 1.2.4 Source

Constructor

ButtonBuilder.new()

The class table is callable, so ButtonBuilder() is the same as .new.

No parameters.

lua
local discord = require("discord")
local object = discord.ButtonBuilder()

Properties

ButtonBuilder.data

# readonly
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

ButtonBuilder.from()

# static

Performs from on this ButtonBuilder. Call it from bot code when you need that operation on the current object.

Signature

ButtonBuilder.from(data)

Parameters

NameTypeRequiredBehavior
data any required Passed through to the implementation as written.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
id string required Snowflake id string.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
disabled any required Passed through to the implementation as written.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
emoji any required Passed through to the implementation as written.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
label any required Passed through to the implementation as written.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
skuId string required Snowflake id string.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
style any optional Passed through to the implementation as written.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

NameTypeRequiredBehavior
url any required Passed through to the implementation as written.

Returns

ButtonBuilder — the same instance, for chaining.

Example

lua
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

lua
local discord = require("discord")
-- object is a ButtonBuilder
object:toJSON()

Examples

lua
local discord = require("discord")
local object = discord.ButtonBuilder({})

ActionRowBuilder · AttachmentBuilder · ChannelSelectMenuBuilder · CheckboxBuilder · ContainerBuilder · ContextMenuCommandBuilder · EmbedBuilder · FileBuilder

Version: discord 1.2.4 · runtime 1.0.0

Search Ctrl K Navigate Open Esc