钉钉群机器人每分钟发送数量限制是多少超出怎么办?

文章导读
钉钉自定义群机器人每分钟最多发送 20 条消息,超出限制会触发限流导致消息发送失败。遇到超限情况需要立即实施消息合并或增加发送间隔,避免机器人被暂时封禁 10 分钟。
📋 目录
  1. 快速处理思路
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

钉钉自定义群机器人每分钟最多发送 20 条消息,超出限制会触发限流导致消息发送失败。遇到超限情况需要立即实施消息合并或增加发送间隔,避免机器人被暂时封禁 10 分钟。

先说结论:钉钉自定义机器人单分钟发送上限为 20 条,超限后限流 10 分钟。

  • 先确认:检查返回错误码是否提示频率超限或发送失败。
  • 先处理:在代码层实现消息队列或合并多条报警为一条 Markdown 消息。
  • 再验证:观察限流解除后消息是否恢复正常送达。

快速处理思路

由于无法通过命令直接修改钉钉服务端限制,需要在应用代码层进行流量控制。建议在发送逻辑前增加计数器或令牌桶算法,确保每分钟请求不超过 20 次。对于监控报警等高频场景,务必将多条通知整合为一条摘要消息发送。

为什么会这样

限制核心目的是防止消息轰炸严重影响群成员的使用体验。钉钉自定义机器人主要设计用于关键通知而非实时流式数据,高频发送会被判定为滥用。触发限流后,机器人会在 10 分钟内无法发送任何消息,即使降低频率也需要等待惩罚期结束。

分步处理

第一步:捕获发送异常。在 HTTP POST 请求的回调处理中,专门监听频率限制相关的错误响应,区分网络错误与限流错误。

第二步:实施本地限流。在发送函数前增加时间戳判断,记录上一分钟已发送数量,达到 20 条后强制 sleep 或放入延迟队列。

第三步:合并消息内容。修改消息体结构,将原本多条 text 消息改为单条 markdown 消息,包含所有关键报警信息,减少请求次数。

第四步:配置重试机制。遇到限流错误时,不要立即重试,设置指数退避策略,等待至少 10 分钟后再恢复发送。

钉钉群机器人每分钟发送数量限制是多少超出怎么办?

怎么验证是否生效

查看应用日志中消息发送的成功率统计,确认每分钟请求数峰值是否控制在 20 以内。在测试群中观察是否再出现发送失败或机器人无响应的情况。检查钉钉群内消息时间戳,确认没有因限流导致的大段消息缺失。

常见坑

混淆应用 API 限制与机器人限制。企业内部应用调用开放接口有独立的频率配额,但自定义机器人 Webhook 单独计算 20 条/分钟的限制,两者不共用。

忽略安全设置参数。发送请求时必须正确拼接 timestamp 和 sign 参数,否则即使未超限也会因签名错误导致发送失败,干扰限流判断。

误判每日限额。部分群类型可能存在每日发送总量限制,高频发送虽未超分钟限制但可能触达日上限,需结合具体群类型确认。

常见问题

发送失败返回错误码是多少?

通常返回提示频率超限的错误信息,具体错误码可能因接口版本不同有所差异,需根据返回 JSON 中的 errcode 判断。

限流 10 分钟期间能发送消息吗?

不能。触发限流后机器人会被暂时封禁,10 分钟内所有发送请求都会失败,必须等待惩罚期结束。

如何发送超过 20 条的报警信息?

使用 markdown 消息类型,将多条报警内容整合在一个消息体中,这样只消耗 1 条发送配额但能传达多条信息。

参考来源

  • 钉钉开放平台 - 自定义机器人发送群消息
  • 钉钉开放平台 - 调用频率限制
  • 钉钉开发者社区精选问答 - 解锁企业协作新可能