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
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_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
- 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.
- __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
- 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 interactive component.
- 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.
- 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
STYLE_PARAGRAPH
public
mixed
STYLE_PARAGRAPH
= 2
STYLE_SHORT
public
mixed
STYLE_SHORT
= 1
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
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
__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 text input.
public
getCustomId() : string
Return values
stringgetMaxLength()
Returns the maximum length of the text input.
public
getMaxLength() : int|null
Return values
int|nullgetMinLength()
Returns the minimum length of the text input.
public
getMinLength() : int|null
Return values
int|nullgetPlaceholder()
Returns the placeholder string of the text input.
public
getPlaceholder() : string|null
Return values
string|nullgetType()
Retrieves the type of the component.
public
getType() : int
Return values
intisRequired()
Returns whether the text input is disabled.
public
isRequired() : bool|null
Return values
bool|nulljsonSerialize()
public
jsonSerialize() : array<string|int, mixed>
Tags
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
selfsetCustomId()
Sets the custom ID for the interactive component.
public
setCustomId(string|null $custom_id) : $this
Parameters
- $custom_id : string|null
Tags
Return values
$thissetLabel()
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
Return values
$thissetMaxLength()
Sets the maximum input length for a text input.
public
setMaxLength(int|null $max_length) : $this
Parameters
- $max_length : int|null
-
Minimum
1
and maximum4000
.null
to set as default.
Tags
Return values
$thissetMinLength()
Sets the minimum input length for a text input.
public
setMinLength(int|null $min_length) : $this
Parameters
- $min_length : int|null
-
Minimum
0
and maximum4000
.null
to set as default.
Tags
Return values
$thissetPlaceholder()
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
Return values
$thissetRequired()
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
$thissetStyle()
Sets the style of the text input.
public
setStyle(int $style) : $this
Parameters
- $style : int
Tags
Return values
$thissetValue()
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
Return values
$thisgenerateUuid()
Generates a UUID which can be used for component custom IDs.
protected
static generateUuid() : string
Return values
stringgetId()
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|nullsetId()
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
selfcheckForGetMutator()
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.