Interface TextInput

All Superinterfaces:
Component, ICustomId, LabelChildComponent

public interface TextInput extends ICustomId, LabelChildComponent
Represents a Discord Text input component

Must be used inside Labels only!

  • Field Details

    • MAX_VALUE_LENGTH

      static final int MAX_VALUE_LENGTH
      The maximum length a TextInput value can have. (4000)
      See Also:
    • MAX_ID_LENGTH

      static final int MAX_ID_LENGTH
      The maximum length a TextInput custom id can have. (100)
      See Also:
    • MAX_PLACEHOLDER_LENGTH

      static final int MAX_PLACEHOLDER_LENGTH
      The maximum length a TextInput placeholder can have. (100)
      See Also:
  • Method Details

    • getStyle

      The TextInputStyle of this TextInput component.
      Returns:
      The style of this TextInput component.
    • getCustomId

      @Nonnull String getCustomId()
      The custom id of this TextInput component.

      This is used to uniquely identify the TextInput. Similar to Buttons.

      Specified by:
      getCustomId in interface ICustomId
      Returns:
      The custom id of this component.
      See Also:
    • getMinLength

      int getMinLength()
      The minimum amount of characters that must be written to submit the Modal.

      This is -1 if no length has been set!

      Returns:
      The minimum length of this TextInput component or -1
    • getMaxLength

      int getMaxLength()
      The maximum amount of characters that can be written to submit the Modal.

      This is -1 if no length has been set!

      Returns:
      The maximum length of this TextInput component or -1
    • isRequired

      boolean isRequired()
      Whether this TextInput is required to be non-empty
      Returns:
      True if this TextInput is required to be used.
    • getValue

      @Nullable String getValue()
      The pre-defined value of this TextInput component.
      If this is not null, sending a Modal with this component will pre-populate the field with this String.

      This is null if no pre-defined value has been set!

      Returns:
      The value of this TextInput component or null.
    • getPlaceHolder

      @Nullable String getPlaceHolder()
      The placeholder of this TextInput component.
      This is a short hint that describes the expected value of the TextInput field.

      This is null if no placeholder has been set!

      Returns:
      The placeholder of this TextInput component or null.
    • withUniqueId

      @Nonnull TextInput withUniqueId(int uniqueId)
      Description copied from interface: Component
      Creates a new component with the provided numeric ID.
      If no ID is set, Discord will generate IDs incrementally starting from 1 and will not use existing IDs from the same message/modal.
      Specified by:
      withUniqueId in interface Component
      Specified by:
      withUniqueId in interface ICustomId
      Specified by:
      withUniqueId in interface LabelChildComponent
      Parameters:
      uniqueId - The new ID; must be higher or equal to 1
      Returns:
      The new component
    • getType

      @Nonnull default Component.Type getType()
      Description copied from interface: Component
      The type of component.
      Specified by:
      getType in interface Component
      Returns:
      Component.Type
    • create

      Creates a new TextInput Builder.
      Parameters:
      id - The custom id
      style - The TextInputStyle
      Returns:
      The new TextInput Builder.
      Throws:
      IllegalArgumentException -
      • If id is null or blank
      • If style is null or UNKNOWN
      • If id is longer than 100 characters
    • of

      Creates a new TextInput.
      This is a shortcut for TextInput.create(id, style).build().
      Parameters:
      id - The custom id
      style - The TextInputStyle
      Returns:
      The new TextInput instance.
      Throws:
      IllegalArgumentException -
      • If id is null or blank
      • If style is null or UNKNOWN
      • If id is longer than 100 characters