实战

OpenClaw 渠道排障完全指南:消息收不到、Bot 不回复的系统性诊断方法

OpenClaw 渠道故障系统性诊断教程:openclaw doctor 一键诊断命令的输出解读、最常见的 5 类问题(Bot Token 无效/Webhook URL 不可达/DM 配对未完成/网络防火墙拦截/配置格式错误)及对应修复步骤、各主要渠道的专项排障(Telegram 403/WhatsApp QR 失效/Slack 事件订阅未开启/Discord 权限不足/Matrix E2EE 设备未验证)、Gateway 日志的关键字段解读、常见错误码含义(401/403/409/429/503),以及在 Discord 社区获取技术支持的途径。

2026/3/254分钟 阅读ClaudeEagle

Bot 配置好了,但就是不回复?本文用系统化方法帮你快速定位问题。

第一步:运行 Doctor 诊断

bash
openclaw doctor

这是最快的诊断方式,会自动检查常见问题:

✅ Gateway: running on port 18789 ✅ Auth: token configured ✅ Provider: anthropic API responding (claude-sonnet-4-6) ⚠️ Channel telegram: webhook not reachable from external → Check: is gateway accessible from internet? ❌ Channel slack: signing secret validation failed → Check: SLACK_SIGNING_SECRET in config ❌ Node my-iphone: not seen in 4h → Check: Node app running? Network ok?

修复建议直接显示在输出里。

五大常见问题

问题1:Bot Token 无效(401 Unauthorized)

症状:日志出现 401 Unauthorized 原因:Token 过期、被吊销、格式错误 Telegram 修复: 1. 向 @BotFather 发送 /mybots 2. 选择你的 Bot → API Token 3. 如果怀疑泄露,点 Revoke 重新生成 4. 更新配置文件中的 botToken WhatsApp 修复: 1. 删除 .openclaw/whatsapp-session/ 目录 2. 重启 Gateway,重新扫 QR 码 Slack 修复: 1. 重新确认 Bot Token(以 xoxb- 开头) 2. 确认 Signing Secret(非 Verification Token)

问题2:Webhook URL 不可达(Webhook 未收到消息)

症状:Bot 启动正常,但发消息后没有任何反应 原因:外部服务(Telegram/Slack)无法访问你的 Webhook URL 诊断: # 从外部测试 Webhook 是否可达 curl https://your-gateway.com/api/channels/telegram/webhook # 如果超时或 Connection refused → 网络/防火墙问题 修复步骤: 1. 检查防火墙是否放行 18789 端口(或 443/80) 2. 如果在 NAT 后面,用 Ngrok/Cloudflare Tunnel 穿透 3. 用 Nginx 反向代理并申请 HTTPS 证书 4. 重新设置 Webhook URL

问题3:DM 配对未完成(消息被拒绝)

症状:给 Bot 发消息,回复「未配对」或直接被忽略 原因:dmPolicy 为 pairing 且尚未完成配对 修复(以 Telegram 为例): 1. 发消息 /start 给 Bot 2. 查看 Gateway 日志中的配对码 [INFO] Pairing request from @alice: code 123456 3. 发送配对码给 Bot:/pair 123456 4. 配对成功后可以正常对话 或临时改为 open 模式(测试时): { "dmPolicy": "open" }

问题4:网络/防火墙拦截

症状:本地测试正常,部署后不工作 常见原因: ❌ VPS 防火墙只开了 22/80/443,没有开 18789 ❌ 云服务器安全组没有配置入站规则 ❌ Telegram 被 ISP/企业防火墙封锁(中国地区) 修复: # 阿里云/腾讯云:控制台 → 安全组 → 添加入站规则 # 端口:18789(或用 80/443 + Nginx 反代) # 测试端口是否开放 nc -zv your-ip 18789

问题5:配置格式错误

症状:Gateway 启动报错或某渠道不加载 常见错误: ❌ JSON 语法错误(多一个逗号、少一个引号) ❌ 字段名拼写错误(bottoken vs botToken) ❌ enabled 写成字符串 "true" 而非布尔 true 诊断: openclaw config validate # 输出详细的配置验证结果 修复: openclaw config show | python3 -m json.tool # 格式化后检查 JSON 结构

各渠道专项排障

Telegram

bash
# 测试 Bot Token
curl "https://api.telegram.org/bot<TOKEN>/getMe"
# 正常返回:{"ok":true,"result":{"username":"your_bot",...}}

# 查看 Webhook 状态
curl "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"

# 删除 Webhook(强制用 Polling 模式)
curl "https://api.telegram.org/bot<TOKEN>/deleteWebhook"

WhatsApp

bash
# QR 码过期,重新登录
rm -rf ~/.openclaw/whatsapp-session/
openclaw gateway restart

# 查看 WhatsApp 连接日志
openclaw logs --channel whatsapp --follow

Slack

常见问题:Event Subscriptions 未启用 修复: Slack App 设置 → Event Subscriptions → Enable Events → ON 填写 Request URL:https://your-gateway.com/api/channels/slack/events 订阅事件:message.im, app_mention

Discord

常见问题:缺少必要权限 修复: OAuth2 URL 中必须包含 permissions= bot + Send Messages + Read Message History + Add Reactions

日志解读

bash
# 实时查看日志
openclaw logs --follow

# 只看错误
openclaw logs --level error

# 看特定渠道
openclaw logs --channel telegram

# 导出日志用于提 Issue
openclaw logs --since 1h > openclaw-debug.log

关键日志字段:

[ERROR] channel=telegram code=403 msg="Forbidden: bot was blocked by the user" → 用户拉黑了 Bot [WARN] provider=anthropic code=429 msg="rate_limit_exceeded" retry_after=30 → API 限流,等 30 秒后重试 [ERROR] config validation failed: channels.slack.botToken is required → 配置缺少必填字段

获取社区支持

Discord 社区:https://discord.com/invite/clawd → #help 频道发问,附上 doctor 输出和日志片段 GitHub Issues:https://github.com/openclaw/openclaw/issues → Bug 报告,附 minimal reproduction 配置 提问时请附上: 1. openclaw --version 输出 2. openclaw doctor 输出 3. 相关错误日志片段(敏感信息记得脱敏) 4. 你尝试过的解决方法

来源:OpenClaw 官方文档 - docs.openclaw.ai/channels/troubleshooting