消息与按钮

"发送消息"动作通过内容块inline 按钮、主菜单以及对话步骤组合机器人的回复内容。这是构建器中功能最丰富的动作——变量替换和按钮的引用参数也在此处配置。

消息内容块

消息由一系列内容块组成(通过添加内容块按钮):

  • 文本 — 格式化文本(最多 4096 个字符),支持变量替换和按钮。
  • 图片 — 带说明的图像。
  • 文件 — 带说明的文档。
  • 延迟 — 下一个内容块前的暂停秒数。
  • AI — 根据提示词由模型生成的回复。
  • 反应 — 调用另一个反应(可选等待其处理完成)。

内容块支持拖拽排序。内容块显示模式为**"按顺序""随机"(用于多样化回复)。机器人主菜单可保持不变**、重新设置隐藏

内容块选项

文本块和媒体块支持以下标志:置顶静音防转发剧透不显示链接预览N 秒后自动删除

Inline 按钮

在内容块中可配置按钮(按钮文本 + 类型):

  • 文本(callback) — 在机器人侧处理点击事件的按钮。
  • 链接 — 打开 URL。
  • 网页应用 — 打开 Telegram Mini App。参见 Mini App
  • 调用反应 — 点击后触发另一个反应。
  • 接收付款通知 — 标记为"即将推出"。

按钮样式 — 普通、蓝色(Primary)、绿色(Success)或红色(Danger)。**"一次性"**标志使按钮在点击后失效。

点击行为

对于 callback 按钮,可配置点击时的行为:替换按钮文本替换消息(用文本或关联反应的内容)、删除消息、跳过 answerCallbackQuery。点击还可以添加标签设置参数

按钮中的参数(Carry)

"Carry — 点击时的数据快照"模块在发送消息时将一组值附加到按钮上。点击时,这些值进入执行上下文——这样每个按钮都携带自己的参数(per-invocation),即使有多个按钮也如此。可设置 payload 有效期(秒)。这是"选择商品 → 下单选中商品"等场景的基础。

动态按钮

**"从列表生成动态按钮"**模块将 ctx 中的数组展开为按钮——每个元素对应一个按钮。可配置:ctx 中的列表键名、元素别名、每行按钮数以及按钮模板(支持 {{alias.字段}})。这样可以构建目录、记录列表以及来自集合数据的菜单。详情参阅动态按钮与参数

预期回复(对话步骤)

文本块可以等待用户回复——这将消息转变为对话步骤,并在收到回复之前暂停流程。连续多个步骤可在聊天中构成问卷或向导。

预期内容类型

机器人可等待特定类型的回复:文本、从选项中选择(选项按钮)、图片、视频、视频笔记、音频、文档、语音消息、位置、联系人、日历或骰子。如果用户发送了错误的类型,该步骤将认为回复不符合要求。

文本验证

对于文本回复,可启用格式验证:电话号码、邮箱、链接、日期、时间或公式匹配(正则表达式)。未通过验证的回复将被拒绝,机器人显示错误消息。

保存回复

用户的回复可保存到参数——之后可在变量替换中通过 {{param.key}} 引用,也可用于条件判断。这样,对话步骤可以逐步构建用户的迷你档案。

错误提示、提醒与超时

  • 验证失败时的提示消息 — 回复未通过验证时显示的内容。
  • 提醒 — 用户长时间未回复时发送的内容。
  • 超时取消等待 — 等待多少秒后停止;超时时可触发反应(例如,优雅地结束问卷)。该反应在关联中显示为"等待超时",而处理回复本身的反应显示为"预期回复"。

变量替换

**"变量替换"**按钮用于插入变量:发送者数据({{first_name}}{{username}}{{user_id}})、事件数据({{text}}{{chat_id}}{{datetime}})和参数({{param.key}})。完整列表和公式参阅变量替换与公式

下一步