GroupOption
extends Component
in package
List of options to render within a Group.
Tags
Table of Contents
Constants
- TYPE_ACTION_ROW = \Discord\Builders\Components\ComponentObject::TYPE_ACTION_ROW
- Container to display a row of interactive components.
- TYPE_BUTTON = \Discord\Builders\Components\ComponentObject::TYPE_BUTTON
- Button object.
- TYPE_CHANNEL_SELECT = \Discord\Builders\Components\ComponentObject::TYPE_CHANNEL_SELECT
- Select menu for channels.
- TYPE_CHECKPOINT_CARD = \Discord\Builders\Components\ComponentObject::TYPE_CHECKPOINT_CARD
- Undocumented. Used by the client for checkpoint.
- TYPE_CONTAINER = \Discord\Builders\Components\ComponentObject::TYPE_CONTAINER
- Container that visually groups a set of components.
- TYPE_CONTENT_INVENTORY_ENTRY = \Discord\Builders\Components\ComponentObject::TYPE_CONTENT_INVENTORY_ENTRY
- Undocumented.
- TYPE_FILE = \Discord\Builders\Components\ComponentObject::TYPE_FILE
- Displays an attached file.
- TYPE_FILE_UPLOAD = \Discord\Builders\Components\ComponentObject::TYPE_FILE_UPLOAD
- Component for uploading files.
- TYPE_LABEL = \Discord\Builders\Components\ComponentObject::TYPE_LABEL
- Container associating a label and description with a component.
- TYPE_MEDIA_GALLERY = \Discord\Builders\Components\ComponentObject::TYPE_MEDIA_GALLERY
- Display images and other media.
- TYPE_MENTIONABLE_SELECT = \Discord\Builders\Components\ComponentObject::TYPE_MENTIONABLE_SELECT
- Select menu for mentionables (users and roles).
- TYPE_ROLE_SELECT = \Discord\Builders\Components\ComponentObject::TYPE_ROLE_SELECT
- Select menu for roles.
- TYPE_SECTION = \Discord\Builders\Components\ComponentObject::TYPE_SECTION
- Container to display text alongside an accessory component.
- TYPE_SELECT_MENU = \Discord\Builders\Components\ComponentObject::TYPE_STRING_SELECT
- TYPE_SEPARATOR = \Discord\Builders\Components\ComponentObject::TYPE_SEPARATOR
- Component to add vertical padding between other components.
- TYPE_STRING_SELECT = \Discord\Builders\Components\ComponentObject::TYPE_STRING_SELECT
- Select menu for picking from defined text options.
- TYPE_TEXT_DISPLAY = \Discord\Builders\Components\ComponentObject::TYPE_TEXT_DISPLAY
- Markdown text.
- TYPE_TEXT_INPUT = \Discord\Builders\Components\ComponentObject::TYPE_TEXT_INPUT
- Text input object.
- TYPE_THUMBNAIL = \Discord\Builders\Components\ComponentObject::TYPE_THUMBNAIL
- Small image that can be used as an accessory.
- TYPE_USER_SELECT = \Discord\Builders\Components\ComponentObject::TYPE_USER_SELECT
- Select menu for users.
Properties
- $default : bool|null
- Whether the option should be enabled as default.
- $description : string|null
- Description for the option. Maximum 100 characters.
- $label : string
- User-visible label of the option. Maximum 100 characters.
- $value : string
- Developer value for the option. Maximum 100 characters.
Methods
- __construct() : mixed
- __get() : mixed
- Handles dynamic get calls onto the part.
- __set() : void
- Handles dynamic set calls onto the part.
- fromPart() : self
- Creates a new instance of the builder from a given Part.
- getCustomId() : string|null
- Returns the custom ID of the button.
- getDefault() : bool|null
- Gets whether the option is set as default.
- getDescription() : string|null
- Gets the description text.
- getLabel() : string
- Gets the label text.
- getValue() : string
- Gets the value text.
- jsonSerialize() : array<string|int, mixed>
- setDefault() : $this
- Sets the option as default. Pass false to set as non-default.
- setDescription() : self
- Sets the description text.
- setLabel() : self
- Sets the label text.
- setValue() : self
- Sets the value text.
- checkForGetMutator() : string|false
- Checks if there is a get mutator present.
- checkForSetMutator() : string|false
- Checks if there is a set mutator present.
- 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.
- getProperty() : mixed
- Gets a property on the parent part.
- getType() : int|null
- Retrieves the type of the component.
- setProperty() : void
- Sets an property on the parent part.
- studly() : string
- Converts a string to studlyCase.
Constants
TYPE_ACTION_ROW
Container to display a row of interactive components.
public
mixed
TYPE_ACTION_ROW
= \Discord\Builders\Components\ComponentObject::TYPE_ACTION_ROW
TYPE_BUTTON
Button object.
public
mixed
TYPE_BUTTON
= \Discord\Builders\Components\ComponentObject::TYPE_BUTTON
TYPE_CHANNEL_SELECT
Select menu for channels.
public
mixed
TYPE_CHANNEL_SELECT
= \Discord\Builders\Components\ComponentObject::TYPE_CHANNEL_SELECT
TYPE_CHECKPOINT_CARD
Undocumented. Used by the client for checkpoint.
public
mixed
TYPE_CHECKPOINT_CARD
= \Discord\Builders\Components\ComponentObject::TYPE_CHECKPOINT_CARD
TYPE_CONTAINER
Container that visually groups a set of components.
public
mixed
TYPE_CONTAINER
= \Discord\Builders\Components\ComponentObject::TYPE_CONTAINER
TYPE_CONTENT_INVENTORY_ENTRY
Undocumented.
public
mixed
TYPE_CONTENT_INVENTORY_ENTRY
= \Discord\Builders\Components\ComponentObject::TYPE_CONTENT_INVENTORY_ENTRY
TYPE_FILE
Displays an attached file.
public
mixed
TYPE_FILE
= \Discord\Builders\Components\ComponentObject::TYPE_FILE
TYPE_FILE_UPLOAD
Component for uploading files.
public
mixed
TYPE_FILE_UPLOAD
= \Discord\Builders\Components\ComponentObject::TYPE_FILE_UPLOAD
TYPE_LABEL
Container associating a label and description with a component.
public
mixed
TYPE_LABEL
= \Discord\Builders\Components\ComponentObject::TYPE_LABEL
TYPE_MEDIA_GALLERY
Display images and other media.
public
mixed
TYPE_MEDIA_GALLERY
= \Discord\Builders\Components\ComponentObject::TYPE_MEDIA_GALLERY
TYPE_MENTIONABLE_SELECT
Select menu for mentionables (users and roles).
public
mixed
TYPE_MENTIONABLE_SELECT
= \Discord\Builders\Components\ComponentObject::TYPE_MENTIONABLE_SELECT
TYPE_ROLE_SELECT
Select menu for roles.
public
mixed
TYPE_ROLE_SELECT
= \Discord\Builders\Components\ComponentObject::TYPE_ROLE_SELECT
TYPE_SECTION
Container to display text alongside an accessory component.
public
mixed
TYPE_SECTION
= \Discord\Builders\Components\ComponentObject::TYPE_SECTION
TYPE_SELECT_MENU
Use ComponentObject::TYPE_STRING_SELECT
public
mixed
TYPE_SELECT_MENU
= \Discord\Builders\Components\ComponentObject::TYPE_STRING_SELECT
TYPE_SEPARATOR
Component to add vertical padding between other components.
public
mixed
TYPE_SEPARATOR
= \Discord\Builders\Components\ComponentObject::TYPE_SEPARATOR
TYPE_STRING_SELECT
Select menu for picking from defined text options.
public
mixed
TYPE_STRING_SELECT
= \Discord\Builders\Components\ComponentObject::TYPE_STRING_SELECT
TYPE_TEXT_DISPLAY
Markdown text.
public
mixed
TYPE_TEXT_DISPLAY
= \Discord\Builders\Components\ComponentObject::TYPE_TEXT_DISPLAY
TYPE_TEXT_INPUT
Text input object.
public
mixed
TYPE_TEXT_INPUT
= \Discord\Builders\Components\ComponentObject::TYPE_TEXT_INPUT
TYPE_THUMBNAIL
Small image that can be used as an accessory.
public
mixed
TYPE_THUMBNAIL
= \Discord\Builders\Components\ComponentObject::TYPE_THUMBNAIL
TYPE_USER_SELECT
Select menu for users.
public
mixed
TYPE_USER_SELECT
= \Discord\Builders\Components\ComponentObject::TYPE_USER_SELECT
Properties
$default
Whether the option should be enabled as default.
protected
bool|null
$default
$description
Description for the option. Maximum 100 characters.
protected
string|null
$description
$label
User-visible label of the option. Maximum 100 characters.
protected
string
$label
$value
Developer value for the option. Maximum 100 characters.
protected
string
$value
Methods
__construct()
public
__construct(string $value, string $label) : mixed
Parameters
- $value : string
- $label : string
__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
fromPart()
Creates a new instance of the builder from a given Part.
public
static fromPart(Part $part) : self
Parameters
- $part : Part
Return values
selfgetCustomId()
Returns the custom ID of the button.
public
getCustomId() : string|null
Return values
string|nullgetDefault()
Gets whether the option is set as default.
public
getDefault() : bool|null
Return values
bool|nullgetDescription()
Gets the description text.
public
getDescription() : string|null
Return values
string|nullgetLabel()
Gets the label text.
public
getLabel() : string
Return values
stringgetValue()
Gets the value text.
public
getValue() : string
Return values
stringjsonSerialize()
public
jsonSerialize() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>setDefault()
Sets the option as default. Pass false to set as non-default.
public
setDefault([bool|null $default = true ]) : $this
Parameters
- $default : bool|null = true
Return values
$thissetDescription()
Sets the description text.
public
setDescription([string|null $description = null ]) : self
Parameters
- $description : string|null = null
-
The description for the option. Max 100 characters.
Return values
selfsetLabel()
Sets the label text.
public
setLabel(string $label) : self
Parameters
- $label : string
-
The text for the option. Must be between 1 and 100 characters.
Return values
selfsetValue()
Sets the value text.
public
setValue(string $value) : self
Parameters
- $value : string
Return values
selfcheckForGetMutator()
Checks if there is a get mutator present.
protected
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.
protected
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.
generateUuid()
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|nullgetProperty()
Gets a property on the parent part.
protected
getProperty(string $key) : mixed
Parameters
- $key : string
-
The name of the property.
Tags
Return values
mixed —Either the property if it exists or void.
getType()
Retrieves the type of the component.
protected
getType() : int|null
Only ComponentObjects will have this property set.
Tags
Return values
int|nullsetProperty()
Sets an property on the parent part.
protected
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.