SectionBuilder

export declare class SectionBuilder extends ComponentBuilder<APISectionComponent>
export declare class SectionBuilder extends ComponentBuilder<APISectionComponent>

No summary provided.

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>Yes
The API data to create this section with
Readonly
components:readonly TextDisplayBuilder[]
ProtectedReadonly
addTextDisplayComponents(...input):this
Adds text display components to this section.
NameTypeOptionalDescription
...inputRestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>No
The text display components to add
clearId():this
Clears the id of this component, defaulting to a default incremented id.
Inherited from ComponentBuilder
setDangerButtonAccessory(input):this
Sets a danger button component to be the accessory of this section.
NameTypeOptionalDescription
inputDangerButtonBuilder | ((builder: DangerButtonBuilder) => DangerButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Danger; })No
The button to set as the accessory
setId(id):this
Sets the id of this component.
NameTypeOptionalDescription
idnumberNo
The id to use
Inherited from ComponentBuilder
setLinkButtonAccessory(input):this
Sets a URL button component to be the accessory of this section.
NameTypeOptionalDescription
inputAPIButtonComponentWithURL | LinkButtonBuilder | ((builder: LinkButtonBuilder) => LinkButtonBuilder)No
The button to set as the accessory
setPremiumButtonAccessory(input):this
Sets a SKU id button component to be the accessory of this section.
NameTypeOptionalDescription
inputAPIButtonComponentWithSKUId | PremiumButtonBuilder | ((builder: PremiumButtonBuilder) => PremiumButtonBuilder)No
The button to set as the accessory
setPrimaryButtonAccessory(input):this
Sets a primary button component to be the accessory of this section.
NameTypeOptionalDescription
inputPrimaryButtonBuilder | ((builder: PrimaryButtonBuilder) => PrimaryButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Primary; })No
The button to set as the accessory
setSecondaryButtonAccessory(input):this
Sets a secondary button component to be the accessory of this section.
NameTypeOptionalDescription
inputSecondaryButtonBuilder | ((builder: SecondaryButtonBuilder) => SecondaryButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Secondary; })No
The button to set as the accessory
setSuccessButtonAccessory(input):this
Sets a success button component to be the accessory of this section.
NameTypeOptionalDescription
inputSuccessButtonBuilder | ((builder: SuccessButtonBuilder) => SuccessButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Success; })No
The button to set as the accessory
setThumbnailAccessory(input):this
Sets a thumbnail component to be the accessory of this section.
NameTypeOptionalDescription
inputAPIThumbnailComponent | ThumbnailBuilder | ((builder: ThumbnailBuilder) => ThumbnailBuilder)No
The thumbnail to set as the accessory
spliceTextDisplayComponents(index, deleteCount, ...components):this
Removes, replaces, or inserts text display components for this section.
NameTypeOptionalDescription
indexnumberNo
The index to start removing, replacing or inserting text display components
deleteCountnumberNo
The amount of text display components to remove
...componentsRestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>No
The text display components to insert
toJSON(validationOverride?):APISectionComponent
Serializes this builder to API-compatible JSON data.
Note that by disabling validation, there is no guarantee that the resulting object will be valid.
NameTypeOptionalDescription
validationOverridebooleanYes
Force validation to run/not run regardless of your global preference