Ask for the user input before continuing. If the user does not answer in time (see timeout), a TimeoutError will be raised or None will be returned depending on raise_on_timeout. If a project ID is configured, the messages will be uploaded to the cloud storage.

Attributes

content
str

The content of the message.

author
str

The author of the message, defaults to the chatbot name defined in your config.

timeout
int

The number of seconds to wait for an answer before raising a TimeoutError.

raise_on_timeout
bool

Whether to raise a socketio TimeoutError if the user does not answer in time.

Returns

response
Step
required

The response of the user.

Usage

import chainlit as cl


@cl.on_chat_start
async def main():
    res = await cl.AskUserMessage(content="What is your name?", timeout=10).send()
    if res:
        await cl.Message(
            content=f"Your name is: {res['output']}",
        ).send()