SectionBuilder

export declare class SectionBuilder extends ComponentBuilder<APISectionComponent>
export declare class SectionBuilder extends ComponentBuilder<APISectionComponent>
A builder that creates API-compatible JSON data for a section.
constructor(data?)
Creates a new section from API data.
Example
Creating a section from an API data object:
const section = new SectionBuilder({
components: [
{
content: "Some text here",
type: ComponentType.TextDisplay,
},
],
accessory: {
media: {
url: 'https://cdn.discordapp.com/embed/avatars/3.png',
},
}
});
const section = new SectionBuilder({
components: [
{
content: "Some text here",
type: ComponentType.TextDisplay,
},
],
accessory: {
media: {
url: 'https://cdn.discordapp.com/embed/avatars/3.png',
},
}
});
Example
Creating a section using setters and API data:
const section = new SectionBuilder({
components: [
{
content: "# Heading",
type: ComponentType.TextDisplay,
},
],
})
.setPrimaryButtonAccessory(button);
const section = new SectionBuilder({
components: [
{
content: "# Heading",
type: ComponentType.TextDisplay,
},
],
})
.setPrimaryButtonAccessory(button);
NameTypeOptionalDescription
dataPartial<APISectionComponent>YesThe API data to create this section with
Readonly
The accessory of this section.
Readonly
components:ComponentBuilder[]
The components within this section.
The API data associated with this component.
Inherited from ComponentBuilder
addTextDisplayComponents(...components):this
Adds text display components to this section.
NameTypeOptionalDescription
...componentsRestOrArray<TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>NoThe text display components to add
clearId():this
Clears the id of this component, defaulting to a default incremented id.
Inherited from ComponentBuilder
setButtonAccessory(accessory):this
Sets the accessory of this section to a button.
NameTypeOptionalDescription
accessoryAPIButtonComponent | ButtonBuilder | ((builder: ButtonBuilder) => ButtonBuilder)NoThe accessory to use
setId(id):this
Sets the id (not the custom id) for this component.
NameTypeOptionalDescription
idnumberNoThe id for this component
Inherited from ComponentBuilder
setThumbnailAccessory(accessory):this
Sets the accessory of this section to a thumbnail.
NameTypeOptionalDescription
accessoryAPIThumbnailComponent | ThumbnailBuilder | ((builder: ThumbnailBuilder) => ThumbnailBuilder)NoThe accessory to use
spliceTextDisplayComponents(index, deleteCount, ...components):this
Removes, replaces, or inserts text display components for this section.
NameTypeOptionalDescription
indexnumberNoThe index to start removing, replacing or inserting text display components
deleteCountnumberNoThe amount of text display components to remove
...componentsRestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>NoThe text display components to insert
Serializes this builder to API-compatible JSON data.
Remarks
This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.