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
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_FILE_UPLOAD = 19
- 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
- __get() : mixed
- Handles dynamic get calls onto the part.
- __set() : void
- Handles dynamic set calls onto the part.
- addComponent() : $this
- Adds a component to the container.
- addComponents() : $this
- Add a group of components to the container.
- fromPart() : self
- Creates a new instance of the builder from a given Part.
- 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.
- checkForGetMutator() : string|false
- Checks if there is a get mutator present.
- checkForSetMutator() : string|false
- Checks if there is a set mutator present.
- getProperty() : mixed
- Gets a property on the parent part.
- setProperty() : void
- Sets an property on the parent part.
- studly() : string
- Converts a string to studlyCase.
Constants
TYPE_ACTION_ROW
public
mixed
TYPE_ACTION_ROW
= 1
TYPE_BUTTON
public
mixed
TYPE_BUTTON
= 2
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
TYPE_FILE
public
mixed
TYPE_FILE
= 13
TYPE_FILE_UPLOAD
public
mixed
TYPE_FILE_UPLOAD
= 19
TYPE_LABEL
public
mixed
TYPE_LABEL
= 18
TYPE_MEDIA_GALLERY
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_SECTION
public
mixed
TYPE_SECTION
= 9
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
USAGE
public
mixed
USAGE
= ['Message']
Properties
$accent_color
Accent color for the container.
protected
int|null
$accent_color
$components
Array of components.
protected
array<string|int, ComponentObject>
$components
= []
$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
__get()
Handles dynamic get calls onto the part.
public
__get(string $key) : mixed
Parameters
- $key : string
-
The attributes key.
Tags
Return values
mixed —The value of the attribute.
__set()
Handles dynamic set calls onto the part.
public
__set(string $key, mixed $value) : void
Parameters
- $key : string
-
The attributes key.
- $value : mixed
-
The attributes value.
Tags
addComponent()
Adds a component to the container.
public
addComponent(ActionRow|SelectMenu|Section|TextDisplay|MediaGallery|File|Separator $component) : $this
Parameters
- $component : ActionRow|SelectMenu|Section|TextDisplay|MediaGallery|File|Separator
-
Component to add.
Tags
Return values
$thisaddComponents()
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
Return values
$thisfromPart()
Creates a new instance of the builder from a given Part.
public
static fromPart(Part $part) : self
Parameters
- $part : Part
Return values
selfgetAccentColor()
Returns the accent color for the container.
public
getAccentColor() : int|null
Return values
int|nullgetComponents()
Returns all the components in the container.
public
getComponents() : array<string|int, ComponentObject>
Return values
array<string|int, ComponentObject>getCustomId()
Returns the custom ID of the button.
public
getCustomId() : string|null
Return values
string|nullgetType()
Retrieves the type of the component.
public
getType() : int
Return values
intisSpoiler()
Returns whether the container is a spoiler.
public
isSpoiler() : bool
Return values
booljsonSerialize()
public
jsonSerialize() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>new()
Creates a new container.
public
static new() : self
Return values
selfsetAccentColor()
Sets the accent color for the container.
public
setAccentColor([mixed $color = null ]) : $this
Parameters
- $color : mixed = null
-
Color code for the container.
Return values
$thissetComponents()
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
$thissetSpoiler()
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
$thisgenerateUuid()
Generates a UUID which can be used for component custom IDs.
protected
static generateUuid() : string
Return values
stringgetId()
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|nullresolveColor()
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
Return values
intsetId()
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
selfcheckForGetMutator()
Checks if there is a get mutator present.
private
checkForGetMutator(string $key) : string|false
Parameters
- $key : string
-
The property name to check.
Return values
string|false —Either a string if it is a method or false.
checkForSetMutator()
Checks if there is a set mutator present.
private
checkForSetMutator(string $key) : string|false
Parameters
- $key : string
-
The property name to check.
Return values
string|false —Either a string if it is a method or false.
getProperty()
Gets a property on the parent part.
private
getProperty(string $key) : mixed
Parameters
- $key : string
-
The name of the property.
Tags
Return values
mixed —Either the property if it exists or void.
setProperty()
Sets an property on the parent part.
private
setProperty(string $key, mixed $value) : void
Parameters
- $key : string
-
The name of the property.
- $value : mixed
-
The value of the property.
studly()
Converts a string to studlyCase.
private
static studly(string $string) : string
This is a port of updated Laravel's implementation, a non-regex with static cache. This method is private static as we may move it outside this class in future.
Parameters
- $string : string
-
The string to convert.