OpenClaw Telegram 报错 409 Conflict(terminated by other getUpdates request)怎么修?2026 一次性排查
如果你的日志里出现下面这句,基本可以确认是同一个问题:
409 Conflict: terminated by other getUpdates request
这表示:同一个 Bot Token 同时被两个(或更多)轮询客户端占用。
OpenClaw 的 Telegram 集成是长轮询模式,Telegram 只允许一个活跃轮询消费者。
这篇给你一个可直接执行的“止血 → 定位 → 稳定化”流程。
1) 先止血:确保只保留一个 OpenClaw 实例
先看当前状态:
openclaw status
openclaw gateway status
openclaw logs --follow
如果日志持续刷 409,先执行:
openclaw gateway stop
然后检查是否还有残留进程:
ps -ef | grep -i openclaw | grep -v grep
有残留就结束它(替换 PID):
kill <PID>
最后只启动一次:
openclaw gateway start
openclaw gateway status
2) 高概率根因 A:你在两台机器用了同一个 Bot Token
最常见场景:
- 本地电脑跑了一个 OpenClaw
- VPS 上又跑了一个 OpenClaw
- 两边
channels.telegram.botToken相同
结论:二选一。一个 Token 只保留一个在线实例。
快速定位
在每台机器上分别运行:
openclaw gateway status
openclaw logs | tail -n 50
哪台不需要长期在线,就把它停掉并禁用自启:
openclaw gateway stop
# 若使用 systemd 用户服务
systemctl --user disable --now openclaw 2>/dev/null || true
3) 高概率根因 B:Webhook 残留导致轮询冲突
即使你现在用的是轮询,如果 Bot 曾被别的服务设过 webhook,也会冲突。
先检查:
# 把 TOKEN 换成真实 token
curl "https://api.telegram.org/botTOKEN/getWebhookInfo"
如果返回里 url 非空,清空 webhook:
curl "https://api.telegram.org/botTOKEN/deleteWebhook"
然后重启 OpenClaw:
openclaw gateway restart
4) 高概率根因 C:systemd + 手工启动重复运行
你可能已经安装了 systemd 服务,同时又手动执行了 openclaw gateway start,导致重复实例。
检查用户服务状态:
systemctl --user status openclaw --no-pager
检查是否重复启动:
ps -ef | grep -E "openclaw|gateway" | grep -v grep
建议只保留一种运行方式:
- 要么全交给 systemd
- 要么手工启动(不建议长期)
如果改为 systemd 托管:
openclaw gateway install
systemctl --user enable --now openclaw
systemctl --user status openclaw --no-pager
5) Docker 场景:多个副本抢同一个 Token
如果你在 Docker/Compose 或编排平台里部署,检查副本数是不是 >1。
Docker Compose 原则
- OpenClaw Telegram Worker 保持单副本
- 不要在两套 compose(如
prod+staging)里复用同一个 token
排查时先强制单实例:
docker compose ps
docker compose up -d --scale openclaw=1
6) 最小自检清单(修完后一定要过)
openclaw status
openclaw gateway status --deep
openclaw channels list
openclaw doctor
预期:
- Gateway
running - Telegram channel
enabled - 日志中不再出现
409 Conflict
7) 想长期稳定:把 OpenClaw 放到单一 VPS 常驻
如果你经常在笔记本和云服务器来回切换,很容易重复拉起实例。更稳的方式是:
- 只在一台 24/7 在线机器运行 OpenClaw
- 本地只做配置编辑,不运行 Telegram 轮询
可用环境(2 vCPU / 2GB 基本够用):
- 腾讯云:国内访问链路更稳,控制台友好
- Vultr:机房多,部署灵活
- DigitalOcean:文档完善,上手快
8) 一键复制:409 Conflict 快速修复命令包
openclaw gateway stop
ps -ef | grep -i openclaw | grep -v grep
curl "https://api.telegram.org/botTOKEN/getWebhookInfo"
curl "https://api.telegram.org/botTOKEN/deleteWebhook"
openclaw gateway start
openclaw logs --follow
如果仍然冲突,几乎可以确定还有第二个实例在别的机器/容器运行。按“根因 A / C / Docker”继续清理即可。
延伸阅读
- OpenClaw Telegram 机器人不工作?完整排查指南(2026)
- OpenClaw Gateway 启动失败怎么修?2026 可执行排查清单
- OpenClaw 日志排查指南:从报错到根因定位