Discord.js中setDefaultMemberPermissions权限配置报错求助
问题排查方案
1. 检查discord.js版本
PermissionFlagsBits是discord.js v14新增的枚举类型,若你安装的是v13或更低版本,该对象不存在,会直接触发未定义错误。
查看当前安装版本:
npm list discord.js
若版本低于v14,升级至最新稳定版:
npm install discord.js@latest
2. 适配对应版本的语法
- 若使用discord.js v14,你的导入和调用代码本身没问题,确认版本升级后重新运行即可。
- 若保留v13版本,需改用
Permissions.FLAGS替代:
const { Permissions } = require('discord.js'); new SlashCommandBuilder() .setName('e') .setDefaultMemberPermissions(Permissions.FLAGS.BAN_MEMBERS),
3. 直接使用权限数值(兼容方案)
如果不想升级版本,可直接传入权限对应的十进制数值,BanMembers对应的数值为2:
new SlashCommandBuilder() .setName('e') .setDefaultMemberPermissions(2),
额外注意
修改权限配置后,必须重新同步部署命令到Discord服务器,新的权限规则才会生效;同时确保机器人账号拥有服务器管理权限,否则无法部署带权限限制的命令。
内容的提问来源于stack exchange,提问作者feefewfgwtg
相关产品推荐
相关产品推荐

