TextInputBuilder

export declare class TextInputBuilder extends ComponentBuilder<APITextInputComponent> implements Equatable<APITextInputComponent | JSONEncodable<APITextInputComponent>>
export declare class TextInputBuilder extends ComponentBuilder<APITextInputComponent> implements Equatable<APITextInputComponent | JSONEncodable<APITextInputComponent>>
A builder that creates API-compatible JSON data for text inputs.
constructor(data?)
Creates a new text input from API data.
Example
Creating a text input from an API data object:
const textInput = new TextInputBuilder({
custom_id: 'a cool text input',
label: 'Type something',
style: TextInputStyle.Short,
});
const textInput = new TextInputBuilder({
custom_id: 'a cool text input',
label: 'Type something',
style: TextInputStyle.Short,
});
Example
Creating a text input using setters and API data:
const textInput = new TextInputBuilder({
label: 'Type something else',
})
.setCustomId('woah')
.setStyle(TextInputStyle.Paragraph);
const textInput = new TextInputBuilder({
label: 'Type something else',
})
.setCustomId('woah')
.setStyle(TextInputStyle.Paragraph);
NameTypeOptionalDescription
dataAPITextInputComponent & { type?: ComponentType.TextInput; }YesThe API data to create this text input with
The API data associated with this component.
Inherited from ComponentBuilder
equals(other):boolean
Whether this is equal to another structure.
NameTypeOptionalDescription
otherAPITextInputComponent | JSONEncodable<APITextInputComponent>NoNone
setCustomId(customId):this
Sets the custom id for this text input.
NameTypeOptionalDescription
customIdstringNoThe custom id to use
setLabel(label):this
Sets the label for this text input.
NameTypeOptionalDescription
labelstringNoThe label to use
setMaxLength(maxLength):this
Sets the maximum length of text for this text input.
NameTypeOptionalDescription
maxLengthnumberNoThe maximum length of text for this text input
setMinLength(minLength):this
Sets the minimum length of text for this text input.
NameTypeOptionalDescription
minLengthnumberNoThe minimum length of text for this text input
setPlaceholder(placeholder):this
Sets the placeholder for this text input.
NameTypeOptionalDescription
placeholderstringNoThe placeholder to use
setRequired(required?):this
Sets whether this text input is required.
NameTypeOptionalDescription
requiredbooleanYesWhether this text input is required
setStyle(style):this
Sets the style for this text input.
NameTypeOptionalDescription
styleTextInputStyleNoThe style to use
setValue(value):this
Sets the value for this text input.
NameTypeOptionalDescription
valuestringNoThe value to use
Serializes this builder to API-compatible JSON data.
Remarks
This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.