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

如何通过Discord.js判断Discord机器人是否已通过官方验证

如何通过Discord.js判断机器人是否已认证?

Discord机器人可以拥有官方认证标识(Verified check mark),请问是否可以通过Discord.js判断某一Discord机器人是否已通过验证?
未验证与已验证机器人对比

我做这件事主要是为了防范突袭(raid)或炸服(nuke)机器人,现有代码如下:

client.on('guildMemberAdd', member => {
   if (member.user.bot) {
      // if is verified:
      //   member.roles.add("<BOT_ROLE_ID>")
      // else:
      //   member.ban(...)
   }
})

若无法通过Discord.js实现,是否可以借助member.user.id属性或其他方式完成?
更新:用户标识(user flags)或许是解决方法。


可以通过Discord.js的**用户标识(User Flags)**来判断机器人是否已认证。

在Discord.js中,member.user.flags属性包含了用户的所有标识,其中**VerifiedBot**就是机器人已通过官方认证的标识。你可以直接基于这个字段完成判断逻辑:

完整实现代码

client.on('guildMemberAdd', member => {
   if (member.user.bot) {
      // 检查机器人是否已认证
      const isVerified = member.user.flags?.has('VerifiedBot');
      if (isVerified) {
         member.roles.add("<BOT_ROLE_ID>");
      } else {
         member.ban({ reason: '未认证机器人,防范炸服/突袭风险' });
      }
   }
})

注意事项

  • flags属性有可能为null,所以使用可选链操作符?.可以避免出现运行时错误
  • 不需要借助user.id来判断,官方提供的标识字段是最准确的验证依据
  • 如果你使用的是Discord.js v12及更早版本,常量名称需要改为全大写的VERIFIED_BOT,即member.user.flags.has('VERIFIED_BOT')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:35:23