OpenClaw 2026.3.2 很快就跟进了 Telegram 前两天刚发布的「流式输出」能力,属于双向奔赴。看 Github 代码已经在仓库里合进去主分支了,果然下午官方就发了新版本,直接把流式输出功能端上来了。

结果我折腾了半天——一直没能成功触发流式输出。bot 代码来回改,日志看了不少,始终找不到原因。最后还是我去翻了一遍 OpenClaw 官方文档,才发现这功能其实有「前置条件」,没满足就会被直接忽略。

为什么我一直触发不了?(关键限制在 Telegram 端)

官方文档里写得很明确:要想在 Telegram 上用流式传输(Telegram Bot API 9.3+),需要满足几条要求:

  • 启用话题的私聊(机器人的论坛话题模式 / Threaded Mode)。
  • 入站消息必须包含 message_thread_id(私有话题线程)。
  • 群组 / 超级群组 / 频道的流式传输会被忽略(也就是你在群里试,可能怎么试都不行)。

我一开始以为是 OpenClaw 的实现问题,或者是我调用方式不对;后来才意识到:如果 Telegram 没给到 message_thread_id,那流式输出这个能力就根本不会被 Telegram 触发。


排查过程:API 版本不是问题,message_thread_id 才是

我中间还怀疑过是不是 Bot API 版本的问题,后来问了一圈确认:

  • Telegram 的 Bot API 是他们上线就自动更新的(我们不需要“手动升级 API”)。
  • 我也确实是在私聊里测试的,不涉及群组/频道限制。

那剩下唯一的变量就是:为什么我的私聊消息里没有 message_thread_id

于是我把注意力集中到「Threaded Mode」上:只要 Telegram 没把你的 bot 私聊变成“带话题的私聊”,就不会有线程 ID,自然也触发不了流式。


解决方法:在 Bot 权限里开启 Threaded Mode

我一开始让 AI 帮我找 “怎么开启 message_thread_id”,答案要么模糊要么跑偏。最后还是我自己去翻 Bot 的权限设置,才找到对应的开关。

操作结论:去 Bot 的权限管理里,开启 Threaded Mode(话题/线程模式)。

BotFather - 打开小程序 - 找到对应的 bot - Bot Setting - 如图
image.png

开启后,再回到私聊测试:

  • 入站消息会带上 message_thread_id
  • OpenClaw 就能正常触发 Telegram 的流式输出
  • 体验立刻变成「边生成边输出」