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

TYPE_ACTION_ROW  = 1
TYPE_BUTTON  = 2
TYPE_CHANNEL_SELECT  = 8
TYPE_MENTIONABLE_SELECT  = 7
TYPE_ROLE_SELECT  = 6
TYPE_SELECT_MENU  = 3
TYPE_STRING_SELECT  = 3
TYPE_TEXT_INPUT  = 4
TYPE_USER_SELECT  = 5
$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.
__construct()  : mixed
Creates a new select menu option.
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.

Constants

TYPE_ACTION_ROW

public mixed TYPE_ACTION_ROW = 1

TYPE_CHANNEL_SELECT

public mixed TYPE_CHANNEL_SELECT = 8

TYPE_MENTIONABLE_SELECT

public mixed TYPE_MENTIONABLE_SELECT = 7

TYPE_ROLE_SELECT

public mixed TYPE_ROLE_SELECT = 6

TYPE_SELECT_MENU

public mixed TYPE_SELECT_MENU = 3
Tags
deprecated
7.4.0

Use Component::TYPE_STRING_SELECT

TYPE_STRING_SELECT

public mixed TYPE_STRING_SELECT = 3

TYPE_TEXT_INPUT

public mixed TYPE_TEXT_INPUT = 4

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
Return values
mixed

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

Search results