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

如何检查机器人在服务器中是否拥有指定权限(以踢人权限为例)

如何校验Discord机器人自身的踢人权限?

嘿,要检查机器人自身的踢人权限其实很简单,和你校验用户权限的思路类似,只不过要把校验对象换成机器人自己在当前服务器的成员实例就行~

在Discord.js里,你可以通过message.guild.me获取机器人在当前服务器(Guild)对应的成员对象,然后调用和用户校验相同的hasPermission方法来判断权限:

// 校验机器人是否具备踢人权限
if (!message.guild.me.hasPermission("KICK_MEMBERS")) {
  // 如果没有权限,给用户反馈后返回
  return message.channel.send("抱歉,我没有踢人的权限,请管理员先为我分配对应的权限哦!");
}

另外补充两个实用小细节:

  • 如果你需要同时检查多个权限,可以传入权限字符串数组,比如["KICK_MEMBERS", "MANAGE_ROLES"]
  • 注意确保message.guild存在(比如在DM频道里这个值是undefined),如果你的机器人可能处理DM消息,最好先做个判断避免报错:
    if (!message.guild) {
      return message.channel.send("这个命令只能在服务器频道使用哦!");
    }
    

内容的提问来源于stack exchange,提问作者Jim D.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:45:05