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

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_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

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

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>
{@inheritDoc}
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.

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

$id

32 bit integer used as an optional identifier for component.

protected int|null $id

$type

Component type.

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

$accent_color

Accent color for the container.

private int|null $accent_color

$spoiler

Whether the container is a spoiler.

private bool $spoiler = false

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()

{@inheritDoc}

public jsonSerialize() : array<string|int, mixed>
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) : $this
Parameters
$color : mixed

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 $spoiler = true ]) : $this
Parameters
$spoiler : bool = 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

        
On this page

Search results