DiscordPHP Documentation

Container extends Layout
in package
implements ComponentV2

Containers are a new way to group components together.

You can also specify an accent color (similar to embeds) and spoiler it.

Tags
link
https://discord.com/developers/docs/interactions/message-components#container
since
10.5.0
@property

?int|null $id Optional identifier for component

@property

?int|null $accent_color Color for the accent on the container as RGB from 0x000000 to 0xFFFFFF

@property

?bool|null $spoiler Whether the container should be a spoiler (or blurred out). Defaults to false.

Table of Contents

Interfaces

ComponentV2
This interface is a contract for V2 components.

Constants

TYPE_ACTION_ROW  = 1
TYPE_BUTTON  = 2
TYPE_CHANNEL_SELECT  = 8
TYPE_CONTAINER  = 17
TYPE_CONTENT_INVENTORY_ENTRY  = 16
TYPE_FILE  = 13
TYPE_LABEL  = 18
TYPE_MEDIA_GALLERY  = 12
TYPE_MENTIONABLE_SELECT  = 7
TYPE_ROLE_SELECT  = 6
TYPE_SECTION  = 9
TYPE_SELECT_MENU  = 3
TYPE_SEPARATOR  = 14
TYPE_STRING_SELECT  = 3
TYPE_TEXT_DISPLAY  = 10
TYPE_TEXT_INPUT  = 4
TYPE_THUMBNAIL  = 11
TYPE_USER_SELECT  = 5
USAGE  = ['Message']

Properties

$accent_color  : int|null
Accent color for the container.
$components  : array<string|int, ComponentObject>
Array of components.
$id  : int|null
32 bit integer used as an optional identifier for component.
$spoiler  : bool|null
Whether the container is a spoiler.
$type  : int
Component type.

Methods

addComponent()  : $this
Adds a component to the container.
addComponents()  : $this
Add a group of components to the container.
getAccentColor()  : int|null
Returns the accent color for the container.
getComponents()  : array<string|int, ComponentObject>
Returns all the components in the container.
getCustomId()  : string|null
Returns the custom ID of the button.
getType()  : int
Retrieves the type of the component.
isSpoiler()  : bool
Returns whether the container is a spoiler.
jsonSerialize()  : array<string|int, mixed>
new()  : self
Creates a new container.
setAccentColor()  : $this
Sets the accent color for the container.
setComponents()  : $this
Sets the components for the container.
setSpoiler()  : $this
Sets whether the container is a spoiler.
generateUuid()  : string
Generates a UUID which can be used for component custom IDs.
getId()  : int|null
The id field is optional and is used to identify components in the response from an interaction that aren't interactive components.
resolveColor()  : int
Resolves a color to an integer.
setId()  : self
The id field is optional and is used to identify components in the response from an interaction. The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component. Sending components with an id of 0 is allowed but will be treated as empty and replaced by the API. 32 bit integer used as an optional identifier for component.

Constants

TYPE_ACTION_ROW

public mixed TYPE_ACTION_ROW = 1

TYPE_CHANNEL_SELECT

public mixed TYPE_CHANNEL_SELECT = 8

TYPE_CONTAINER

public mixed TYPE_CONTAINER = 17

TYPE_CONTENT_INVENTORY_ENTRY

public mixed TYPE_CONTENT_INVENTORY_ENTRY = 16
public mixed TYPE_MEDIA_GALLERY = 12

TYPE_MENTIONABLE_SELECT

public mixed TYPE_MENTIONABLE_SELECT = 7

TYPE_ROLE_SELECT

public mixed TYPE_ROLE_SELECT = 6

TYPE_SELECT_MENU

Use Component::TYPE_STRING_SELECT

public mixed TYPE_SELECT_MENU = 3

TYPE_SEPARATOR

public mixed TYPE_SEPARATOR = 14

TYPE_STRING_SELECT

public mixed TYPE_STRING_SELECT = 3

TYPE_TEXT_DISPLAY

public mixed TYPE_TEXT_DISPLAY = 10

TYPE_TEXT_INPUT

public mixed TYPE_TEXT_INPUT = 4

TYPE_THUMBNAIL

public mixed TYPE_THUMBNAIL = 11

TYPE_USER_SELECT

public mixed TYPE_USER_SELECT = 5

Properties

$accent_color

Accent color for the container.

protected int|null $accent_color

$id

32 bit integer used as an optional identifier for component.

protected int|null $id

$spoiler

Whether the container is a spoiler.

protected bool|null $spoiler

$type

Component type.

protected int $type = \Discord\Builders\Components\Component::TYPE_CONTAINER

Methods

addComponents()

Add a group of components to the container.

public addComponents(array<string|int, ComponentObject$components) : $this
Parameters
$components : array<string|int, ComponentObject>

Components to add.

Tags
throws
InvalidArgumentException

Component is not a valid type.

Return values
$this

getAccentColor()

Returns the accent color for the container.

public getAccentColor() : int|null
Return values
int|null

getCustomId()

Returns the custom ID of the button.

public getCustomId() : string|null
Return values
string|null

getType()

Retrieves the type of the component.

public getType() : int
Return values
int

isSpoiler()

Returns whether the container is a spoiler.

public isSpoiler() : bool
Return values
bool

jsonSerialize()

public jsonSerialize() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

new()

Creates a new container.

public static new() : self
Return values
self

setAccentColor()

Sets the accent color for the container.

public setAccentColor([mixed $color = null ]) : $this
Parameters
$color : mixed = null

Color code for the container.

Return values
$this

setComponents()

Sets the components for the container.

public setComponents(array<string|int, ComponentObject$components) : $this
Parameters
$components : array<string|int, ComponentObject>

Components to set.

Return values
$this

setSpoiler()

Sets whether the container is a spoiler.

public setSpoiler([bool|null $spoiler = true ]) : $this
Parameters
$spoiler : bool|null = true

Whether the container is a spoiler.

Return values
$this

generateUuid()

Generates a UUID which can be used for component custom IDs.

protected static generateUuid() : string
Return values
string

getId()

The id field is optional and is used to identify components in the response from an interaction that aren't interactive components.

protected getId() : int|null

The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component.

Return values
int|null

resolveColor()

Resolves a color to an integer.

protected static resolveColor(array<string|int, mixed>|int|string $color) : int
Parameters
$color : array<string|int, mixed>|int|string
Tags
throws
InvalidArgumentException

$color cannot be resolved

Return values
int

setId()

The id field is optional and is used to identify components in the response from an interaction. The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component. Sending components with an id of 0 is allowed but will be treated as empty and replaced by the API. 32 bit integer used as an optional identifier for component.

protected setId([string|null $id = null ]) : self
Parameters
$id : string|null = null

32 bit integer used as an optional identifier for component.

Return values
self

        
On this page

Search results