Discord.js PermissionsBitField.Flags相关问题:Guilds等标识无法使用
关于Discord.js中PermissionsBitField.Flags的问题解决
权限标识不生效的原因及修正
你提到的Guilds和Guilds_messages写法有误,导致无法正常工作:
Guilds_messages是错误命名,正确的服务器消息相关权限标识为GuildMessages(驼峰命名,无下划线);Guilds标识对应「创建服务器」的权限,如果你需要的是服务器管理类权限,应该使用ManageGuild。
学习PermissionsBitField.Flags的方法
无需依赖外部站点,直接通过以下方式获取完整权限标识列表:
- 在Node.js环境中运行代码打印所有可用标识:
const { PermissionsBitField } = require('discord.js'); console.log(PermissionsBitField.Flags); - 对照Discord官方权限位数值表,每个标识都对应固定的十六进制数值,也可以直接使用数值替代标识(比如
ManageGuild对应0x0000000000000020,GuildMessages对应0x0000000000000800)。
使用示例
如果需要给机器人配置服务器管理和服务器消息权限,代码示例如下:
const { PermissionsBitField } = require('discord.js'); // 使用标识 const requiredPermissions = [ PermissionsBitField.Flags.ManageGuild, PermissionsBitField.Flags.GuildMessages ]; // 或使用数值 const requiredPermissions = [0x0000000000000020, 0x0000000000000800];
内容的提问来源于stack exchange,提问作者By Kararlı
相关产品推荐
相关产品推荐

