Option
extends Component
in package
Option for select menu component.
Tags
Table of Contents
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
Properties
- $default : bool
- Whether the option should be enabled as default.
- $description : string|null
- Description for the option. Maximum 50 characters.
- $emoji : array<string|int, mixed>|null
- Emoji to display alongside the option.
- $label : string
- User-visible label of the option. Maximum 25 characters.
- $value : string
- Developer value for the option. Maximum 100 characters.
Methods
- __construct() : mixed
- Creates a new select menu option.
- __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.
- getDescription() : string|null
- Returns the description for the option.
- getEmoji() : array<string|int, mixed>|null
- Returns the emoji display alongside the option.
- getLabel() : string
- Returns the user-visible label for the option.
- getValue() : string
- Returns the developer value for the option.
- isDefault() : bool
- Returns whether the option is default.
- jsonSerialize() : array<string|int, mixed>
- new() : self
- Creates a new select menu option.
- setDefault() : $this
- Sets the option as default. Pass false to set as non-default.
- setDescription() : $this
- Sets the description of the option.
- setEmoji() : $this
- Sets the emoji of the option.
- 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.
- getType() : int|null
- Retrieves the type of the 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
Properties
$default
Whether the option should be enabled as default.
private
bool
$default
= false
$description
Description for the option. Maximum 50 characters.
private
string|null
$description
$emoji
Emoji to display alongside the option.
private
array<string|int, mixed>|null
$emoji
$label
User-visible label of the option. Maximum 25 characters.
private
string
$label
$value
Developer value for the option. Maximum 100 characters.
private
string
$value
Methods
__construct()
Creates a new select menu option.
public
__construct(string $label, string|null $value) : mixed
Parameters
- $label : string
-
User-visible label for the option. Maximum 100 characters.
- $value : string|null
-
Developer value for the option. Maximum 100 characters. Leave as null to automatically generate a UUID.
Tags
__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|nullgetDescription()
Returns the description for the option.
public
getDescription() : string|null
Return values
string|nullgetEmoji()
Returns the emoji display alongside the option.
public
getEmoji() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|nullgetLabel()
Returns the user-visible label for the option.
public
getLabel() : string
Return values
stringgetValue()
Returns the developer value for the option.
public
getValue() : string
Return values
stringisDefault()
Returns whether the option is default.
public
isDefault() : bool
Return values
booljsonSerialize()
public
jsonSerialize() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>new()
Creates a new select menu option.
public
static new(string $label[, string|null $value = null ]) : self
Parameters
- $label : string
-
User-visible label for the option. Maximum 25 characters.
- $value : string|null = null
-
Developer value for the option. Maximum 100 characters. Leave as null to automatically generate a UUID.
Return values
selfsetDefault()
Sets the option as default. Pass false to set as non-default.
public
setDefault([bool $default = true ]) : $this
Parameters
- $default : bool = true
Return values
$thissetDescription()
Sets the description of the option.
public
setDescription(string|null $description) : $this
Parameters
- $description : string|null
-
Description of the option. Maximum 100 characters.
null
to clear.
Tags
Return values
$thissetEmoji()
Sets the emoji of the option.
public
setEmoji(Emoji|string|null $emoji) : $this
Parameters
- $emoji : Emoji|string|null
-
Emoji to set.
null
to clear.
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|nullgetType()
Retrieves the type of the component.
protected
getType() : int|null
Only ComponentObjects will have this property set.
Tags
Return values
int|nullcheckForGetMutator()
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.