DiscordPHP Documentation

Option extends Component
in package

Option for select menu component.

Tags
link
https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-option-structure
since
7.0.0

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

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

$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
throws
LengthException

getCustomId()

Returns the custom ID of the button.

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

getDescription()

Returns the description for the option.

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

getEmoji()

Returns the emoji display alongside the option.

public getEmoji() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null

getLabel()

Returns the user-visible label for the option.

public getLabel() : string
Return values
string

getValue()

Returns the developer value for the option.

public getValue() : string
Return values
string

isDefault()

Returns whether the option is default.

public isDefault() : bool
Return values
bool

jsonSerialize()

{@inheritDoc}

public jsonSerialize() : array<string|int, mixed>
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
self

setDefault()

Sets the option as default. Pass false to set as non-default.

public setDefault([bool $default = true ]) : $this
Parameters
$default : bool = true
Return values
$this

setDescription()

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
throws
LengthException
Return values
$this

setEmoji()

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

getType()

Retrieves the type of the component.

protected getType() : int|null

Only ComponentObjects will have this property set.

Tags
see
ComponentObject
Return values
int|null

        
On this page

Search results