Discord.js 如何使此命令仅适用于某些角色

Discord.js 如何使此命令仅适用于某些角色,discord.js,Discord.js,我需要这个明确的命令来只为某个角色工作 我对JS很陌生,很多类似的问题都过时了 或者与我的问题无关 bot.on('message',message=>{ 如果(!message.content.startsWith(PREFIX))返回; 设args=message.content.substring(PREFIX.length).split(“”); 开关(参数[0]){ 案例“明确”: if(!args[1])返回message.reply('错误,请定义要删除的邮件数') message

我需要这个明确的命令来只为某个角色工作

我对JS很陌生,很多类似的问题都过时了 或者与我的问题无关

bot.on('message',message=>{
如果(!message.content.startsWith(PREFIX))返回;
设args=message.content.substring(PREFIX.length).split(“”);
开关(参数[0]){
案例“明确”:
if(!args[1])返回message.reply('错误,请定义要删除的邮件数')
message.channel.bulkDelete(args[1]);
打破
}
})
您可以在
行会成员的角色上使用
some()
,查看他们是否拥有该角色

bot.on('message',message=>{
如果(!message.content.startsWith(PREFIX))返回;
设args=message.content.substring(PREFIX.length).split(“”);
开关(参数[0]){
案例“明确”:
如果(!message.member.roles.cache.some(role=>role.name==='RoleName'))返回
if(!args[1])返回message.reply('错误,请定义要删除的邮件数')
message.channel.bulkDelete(args[1]);
打破
}
})

如果您有角色ID,您可以检查用户是否具有该角色

bot.on('message',message=>{
如果(!message.content.startsWith(PREFIX))返回;
设args=message.content.substring(PREFIX.length).split(“”);
开关(参数[0]){
案例“明确”:
如果(!message.member.roles.cache.has(ROLE_ID))
回来
if(!args[1])返回message.reply('错误,请定义要删除的邮件数量')
message.channel.bulkDelete(args[1]);
打破
}
});

即使您更改了角色的名称/顺序,这也将继续工作。您可以通过激活开发人员模式(在“设置”中的“外观”下),右键单击角色并选择“复制ID”来获取角色ID。

我是否将角色ID粘贴在角色ID括号中?替换
角色ID
,如下所示:
。。。cache.has(“123456789123”)
。即使分配了角色,清除命令和错误消息也不起作用。是否确实使用了角色的确切名称?包括表情符号和大写字母?是的,出于某种原因拼写了角色名perfectlyOk开始工作了,非常感谢我的朋友。