DiscordPHP Documentation

TextInput extends Interactive
in package

Text inputs are an interactive component that render on modals. They can be used to collect short-form or long-form text.

Tags
link
https://discord.com/developers/docs/interactions/message-components#text-inputs
since
7.0.0
@property

?int|null $min_length Minimum input length for a text input; min 0, max 4000.

@property

?int|null $max_length Maximum input length for a text input; min 1, max 4000.

@property

?bool|null $required Whether this component is required to be filled (defaults to true).

@property

?string|null $value Pre-filled value for this component; max 4000 characters.

@property

?string|null $placeholder Custom placeholder text if the input is empty; max 100 characters.

Table of Contents

Constants

STYLE_PARAGRAPH  = 2
STYLE_SHORT  = 1
TYPE_ACTION_ROW  = 1
TYPE_BUTTON  = 2
TYPE_CHANNEL_SELECT  = 8
TYPE_CONTAINER  = 17
TYPE_CONTENT_INVENTORY_ENTRY  = 16
TYPE_FILE  = 13
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', 'Modal']

Properties

$custom_id  : string
Custom ID to send with interactive component.
$id  : int|null
32 bit integer used as an optional identifier for component.
$label  : string|null
Label for the text input.
$max_length  : int|null
Maximum input length for a text input, min 1, max 4000.
$min_length  : int|null
Minimum input length for a text input, min 0, max 4000.
$placeholder  : string|null
Placeholder string to display if text input is empty. Maximum 100 characters.
$required  : bool|null
Whether the text input is required.
$style  : int
Style of text input.
$type  : int
Component type.
$value  : string|null
Pre-filled value for text input. Max 4000 characters.

Methods

__construct()  : mixed
Creates a new text input.
getCustomId()  : string
Returns the Custom ID of the text input.
getMaxLength()  : int|null
Returns the maximum length of the text input.
getMinLength()  : int|null
Returns the minimum length of the text input.
getPlaceholder()  : string|null
Returns the placeholder string of the text input.
getType()  : int
Retrieves the type of the component.
isRequired()  : bool|null
Returns whether the text input is disabled.
jsonSerialize()  : array<string|int, mixed>
new()  : self
Creates a new text input.
setCustomId()  : $this
Sets the custom ID for the text input.
setLabel()  : $this
Sets the label of the text input.
setMaxLength()  : $this
Sets the maximum input length for a text input.
setMinLength()  : $this
Sets the minimum input length for a text input.
setPlaceholder()  : $this
Sets the placeholder string to display if text input is empty.
setRequired()  : $this
Set if this component is required to be filled (defaults to true).
setStyle()  : $this
Sets the style of the text input.
setValue()  : $this
Sets a pre-filled value for the text input.
generateUuid()  : string
Generates a UUID which can be used for component custom IDs.
getId()  : int|null
Retrieves the ID associated with the interactive component.
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.

Constants

STYLE_PARAGRAPH

public mixed STYLE_PARAGRAPH = 2

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

USAGE

public mixed USAGE = ['Message', 'Modal']

Properties

$custom_id

Custom ID to send with interactive component.

public string $custom_id

Developer-defined identifier for the input; max 100 characters.

$id

32 bit integer used as an optional identifier for component.

protected int|null $id

$label

Label for the text input.

Use a top-level Component::Label

protected string|null $label

$max_length

Maximum input length for a text input, min 1, max 4000.

protected int|null $max_length

$min_length

Minimum input length for a text input, min 0, max 4000.

protected int|null $min_length

$placeholder

Placeholder string to display if text input is empty. Maximum 100 characters.

protected string|null $placeholder

$required

Whether the text input is required.

protected bool|null $required

$style

Style of text input.

protected int $style

$type

Component type.

protected int $type = \Discord\Builders\Components\Component::TYPE_TEXT_INPUT

$value

Pre-filled value for text input. Max 4000 characters.

protected string|null $value

Methods

__construct()

Creates a new text input.

public __construct(string $label, int $style[, string|null $custom_id = null ]) : mixed
Parameters
$label : string

The label of the text input.

$style : int

The style of the text input.

$custom_id : string|null = null

The custom ID of the text input. If not given, a UUID will be used

getCustomId()

Returns the Custom ID of the text input.

public getCustomId() : string
Return values
string

getMaxLength()

Returns the maximum length of the text input.

public getMaxLength() : int|null
Return values
int|null

getMinLength()

Returns the minimum length of the text input.

public getMinLength() : int|null
Return values
int|null

getPlaceholder()

Returns the placeholder string of the text input.

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

getType()

Retrieves the type of the component.

public getType() : int
Return values
int

isRequired()

Returns whether the text input is disabled.

public isRequired() : bool|null
Return values
bool|null

jsonSerialize()

public jsonSerialize() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

new()

Creates a new text input.

public static new(string $label, int $style[, string|null $custom_id = null ]) : self
Parameters
$label : string

The label of the text input.

$style : int

The style of the text input.

$custom_id : string|null = null

The custom ID of the text input.

Return values
self

setCustomId()

Sets the custom ID for the text input.

public setCustomId(string $custom_id) : $this
Parameters
$custom_id : string
Tags
throws
LengthException
Return values
$this

setLabel()

Sets the label of the text input.

public setLabel([string|null $label = null ]) : $this
Parameters
$label : string|null = null

Label of the text input. Maximum 45 characters.

Tags
throws
LengthException
Return values
$this

setMaxLength()

Sets the maximum input length for a text input.

public setMaxLength(int|null $max_length) : $this
Parameters
$max_length : int|null

Minimum 1 and maximum 4000. null to set as default.

Tags
throws
LengthException
Return values
$this

setMinLength()

Sets the minimum input length for a text input.

public setMinLength(int|null $min_length) : $this
Parameters
$min_length : int|null

Minimum 0 and maximum 4000. null to set as default.

Tags
throws
LengthException
Return values
$this

setPlaceholder()

Sets the placeholder string to display if text input is empty.

public setPlaceholder(string|null $placeholder) : $this
Parameters
$placeholder : string|null

Maximum 100 characters. null to clear placeholder.

Tags
throws
LengthException
Return values
$this

setRequired()

Set if this component is required to be filled (defaults to true).

public setRequired([bool|null $required = null ]) : $this
Parameters
$required : bool|null = null
Return values
$this

setStyle()

Sets the style of the text input.

public setStyle(int $style) : $this
Parameters
$style : int
Tags
throws
InvalidArgumentException
Return values
$this

setValue()

Sets a pre-filled value for the text input.

public setValue(string|null $value) : $this
Parameters
$value : string|null

A pre-filled value, max 4000 characters.

Tags
throws
LengthException
Return values
$this

generateUuid()

Generates a UUID which can be used for component custom IDs.

protected static generateUuid() : string
Return values
string

getId()

Retrieves the ID associated with the interactive component.

protected getId() : int|null

Always returns null as this component does not have an ID.

Return values
int|null

setId()

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
self

        
On this page

Search results