TextInput
TextInput
The TextInput
class represents an input box component for capturing user input in a user interface.
Properties
label
(Required): The label associated with the input box.value
(Optional): The current value of the input box.width
(Optional): The width of the input box.placeholder
(Optional): The placeholder text displayed in the input box.callback_data
(Optional): Data associated with a callback.keyboard_type
(Optional): The type of keyboard to be displayed (default isKeyboardType.TEXT
).error
(Optional): A boolean flag indicating whether an error state is present.error_text
(Optional): The text to be displayed in case of an error.password
(Optional): A boolean flag indicating whether the input should be treated as a password.right_icon
(Optional): An icon displayed on the right side of the input box.left_icon
(Optional): An icon displayed on the left side of the input box.expanded
(bool): whether to show expanded text input.multiline
(bool): whether to show multiline input.
KeyboardType Enum
The KeyboardType
enum defines the following keyboard types:
NUMBER
: Numeric keyboard.TEXT
: Text keyboard (default).EMAIL
: Email keyboard.URL
: URL keyboard.
Usage Example
# Create a TextInput instance:
text_input = TextInput(
label="Username",
value="",
width=300,
placeholder="Enter your username",
callback_data="UsernameCallback",
keyboardType=KeyboardType.TEXT,
error=True,
error_text="Invalid username",
password=False,
right_icon="https://img.icons8.com/?size=20&id=12345&format=png",
left_icon="https://img.icons8.com/?size=20&id=67890&format=png",
)
note
The input value of TextInput can be obtained as shown below:
@app.on_callback_query(regexp(...))
async def onCallback(ctx: BotContext[CallbackQueryEvent]):
input_ = ctx.event.details.input_value
print("User entered", input_)