Ask for the user to take an action 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
parameter.
If a project ID is configured, the messages will be uploaded to the cloud storage.
Attributes
The content of the message.
The list of Action to prompt the user.
author
str
default:"config.ui.name"
The author of the message, defaults to the chatbot name defined in your
config.
The number of seconds to wait for an answer before raising a TimeoutError.
Whether to raise a socketio TimeoutError if the user does not answer in time.
Returns
The response of the user.
Example
import chainlit as cl
@cl.on_chat_start
async def main():
res = await cl.AskActionMessage(
content="Pick an action!",
actions=[
cl.Action(name="continue", payload={"value": "continue"}, label="✅ Continue"),
cl.Action(name="cancel", payload={"value": "cancel"}, label="❌ Cancel"),
],
).send()
if res and res.get("payload").get("value") == "continue":
await cl.Message(
content="Continue!",
).send()