Skip to main content

🎬 Action 函数

Action 函数允许您在消息工具栏中为最终用户创建自定义交互按钮。这个功能让消息交互变得更加丰富多样,可以实现多种实用功能,例如:在执行任务前进行用户授权、生成结构化数据的可视化展示、下载聊天内容的音频片段等。

您可以在社区版块中找到 Action 的代码脚手架(示例代码框架)。

下面的视频展示了一个图形可视化 Action 的具体应用示例:

图形可视化 Action

Action

Action 主要用于在消息 UI 中创建交互按钮(这些按钮会显示在每条聊天消息的正下方)。

每个 Action 都包含一个核心组件:action 函数。该函数接收一个对象参数,用于定义具体的动作类型和需要处理的数据内容。

示例代码
async def action(
self,
body: dict,
__user__=None, # 用户信息对象
__event_emitter__=None, # 事件发射器
__event_call__=None, # 事件调用函数
) -> Optional[dict]: # 返回可选的字典类型
print(f"action:{__name__}")

response = await __event_call__(
{
"type": "input", # 动作类型:输入
"data": {
"title": "write a message", # 对话框标题
"message": "here write a message to append", # 提示信息
"placeholder": "enter your message", # 输入框提示文本
},
}
)
print(response)