> For the complete documentation index, see [llms.txt](https://doc.duaer.com/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/troubleshooting/wecom-feishu-bot-webhook-errors.md).

# 在 Duaer 里排查企业微信、飞书群机器人发送失败

Duaer 往企业微信或飞书群机器人发消息没到，先看返回里的 errcode 或 code。这里是常见错误码和对应修法。
## 先看 Duaer 节点的输出

两种机器人出错时 HTTP 状态常常还是 200，Duaer 节点显示成功，消息却没发出。打开输出看企业微信的 errcode 或飞书的 code，不是 0 就是失败。要让失败变红，后面接 [If](/zh/build/if.md) 判断它不等于 0，再接 [Stop and Error](/zh/build/stop-and-error.md)。

## 企业微信群机器人

- 93000：Webhook 地址无效。机器人被移出群或 key 复制不全，重新复制地址更新 Duaer 凭证。
- 45009：发得太快。每个机器人每分钟最多 20 条，把多条合成一条，或用 [Loop Over Items](/zh/build/loop-over-items.md) 加 [Wait](/zh/build/wait.md) 放慢。
- 内容太长：文本最长 2048 字节，markdown 最长 4096 字节，一个汉字约 3 字节。截断或拆成几条。

在 Duaer 里用企业微信节点的「消息推送」资源和群机器人 Webhook 凭证发送，见 [在 Duaer 里发企业微信消息](/zh/build/wecom.md)。

## 飞书自定义机器人

Duaer 用 [HTTP Request](/zh/build/http-request.md) 发飞书机器人：Method 选 POST，URL 填 Webhook 地址，Send Body 选 JSON，内容写 {"msg_type":"text","content":{"text":{{ JSON.stringify($json.message) }}}}。用 JSON.stringify，消息里有引号或换行也不会把 JSON 弄坏。

- 19024 Key Words Not Found：机器人开了自定义关键词，消息里没有关键词。
- 19021 sign match fail：开了签名校验，签名或时间戳不对（时间戳要在一小时内）。不需要时改用关键词或 IP 白名单校验。
- 19022 Ip Not Allowed：开了 IP 白名单，把 Duaer 发请求的 IP 加进去。
- 9499 Bad Request：请求体结构不对，常见是 content 写成了字符串或 msg_type 拼错。
- 11232：发得太快，放慢发送。
## Questions

### Duaer 节点显示成功，群里却没收到消息？

机器人出错时常返回 HTTP 200。看 Duaer 节点输出里的 errcode 或 code，不是 0 就是失败，按本页错误码处理。

### Duaer 有飞书节点吗？

Duaer 用 HTTP Request 调用飞书机器人的 Webhook 地址，不需要单独的飞书节点。

## 相关

- [在 Duaer 里用企业微信发消息](https://doc.duaer.com/zh/build/wecom.md)
- [在 Duaer 里用 HTTP Request 调接口](https://doc.duaer.com/zh/build/http-request.md)
- [在 Duaer 里解决企业微信 60020：IP 不在可信列表](https://doc.duaer.com/zh/troubleshooting/wecom-60020-ip-not-allowed.md)
- [在 Duaer 里妥善处理错误](https://doc.duaer.com/zh/flow-logic/error-handling.md)

