You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在on_message事件中检测发送消息的用户是否为机器人

消息发送方机器人身份判断方案

首先明确你当前遇到的问题核心:message.user.bot 仅能识别通过平台官方机器人接口接入的合规机器人,大量非合规的爬虫类机器人、模拟普通用户注册的机器人账号不会被平台标记该字段,因此会出现判断漏判/误判。

以下是分层的完整判断逻辑:

1. 基础层:官方字段过滤

优先匹配对应平台的官方机器人标记字段,过滤合规接入的机器人:

  • Discord:取 message.author.bot 字段,值为 true 即为官方机器人
  • Slack:取 message.bot_id 字段,非空值即为官方机器人
  • Telegram:取 message.from.is_bot 字段,值为 true 即为官方机器人
  • 国内企业协作平台:取发送方ID专属前缀,如企业微信@app前缀、飞书ou_以外的应用ID前缀,匹配即为官方机器人

本层可覆盖60%以上的常规机器人识别场景,无额外开发成本。

2. 进阶层:异常特征校验

针对未被官方标记的非合规机器人,补充以下特征规则判断:

账号特征

  • 注册时间小于7天、无自定义头像、无公开动态/好友关系的账号,判定为高风险机器人
  • 用户名为随机无意义字符串、使用平台默认初始用户名的账号,判定为高风险机器人

消息特征

  • 10分钟内连续发送3条及以上相同/高度相似内容的账号,判定为机器人
  • 消息内容包含大量外部引流链接、黑产类敏感关键词的账号,判定为高风险机器人
  • 多次消息发送时间间隔误差小于1秒、完全固定频率发送的账号,判定为机器人

交互特征

  • 收到验证码类校验问题(如图形验证码、语义校验问题)无符合人类逻辑回复的账号,判定为机器人
  • 单次发送的内容同时触发多个无关指令的账号,判定为机器人

3. 持久层:自定义黑名单库

在你的服务端维护机器人标记库,提升识别准确率:

  • 累计触发2次及以上异常规则的账号,永久标记为机器人,后续消息直接拦截
  • 同IP/C段下批量发送相似内容的账号,批量标记为机器人

内容的提问来源于stack exchange,提问作者Hetrogon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:45:03