Javascript 如何仅允许具有特定权限的用户切换命令?

Javascript 如何仅允许具有特定权限的用户切换命令?,javascript,node.js,if-statement,discord,discord.js,Javascript,Node.js,If Statement,Discord,Discord.js,我已经编写了一个机器人,可以格式化文本-我需要它,以便不仅仅是随机访问命令。这是我的代码-它不会抛出错误 试试看{ if(message.member.guild.me.hasPermission('ADMINISTRATOR')){ 如果(参数[0]=“关闭”){ christian[message.guild.id]=false }else if(args[0]='on'){ christian[message.guild.id]=真 } message.channel.send(`Chri

我已经编写了一个机器人,可以格式化文本-我需要它,以便不仅仅是随机访问命令。这是我的代码-它不会抛出错误

试试看{
if(message.member.guild.me.hasPermission('ADMINISTRATOR')){
如果(参数[0]=“关闭”){
christian[message.guild.id]=false
}else if(args[0]='on'){
christian[message.guild.id]=真
}
message.channel.send(`Christian Mode${Christian[message.guild.id]?'Active':'Inactive'}`)
回归基督教
}否则{
message.channel.send('您没有使用该命令的权限!')
}
}捕获(错误){
console.log('权限错误')
}

注意:命令会切换回index.js(main),方法是说=Christian on/off此函数有效。

message.member.guild.me.hasPermission('ADMINISTRATOR')
正在检查机器人的权限,而不是命令执行者的权限。调用
消息。成员
(请参阅)

例如

if(!message.member.hasPermission('ADMINISTRATOR')){
//向用户返回错误(并实际返回)
}
//继续使用命令代码


注意:Discord.js文档超链接适用于最近发布的v12。如果您的Discord.js不是最新版本,请切换到页面顶部的正确版本以获取准确信息。

是否
拥有权限(“管理员”)
执行所需操作@mas该行检查bot的权限,而不是命令执行者的权限。如果我想添加另一个perm,我会将其设置为
If(message.member.hasPermission('ADMINISTRATOR'| |'MANAGE_MESSAGES'){
?@Proto您可以将字符串数组传递给
GuildMember#hasPermission
,如下:
message.member.hasPermission(['ADMINISTRATOR','MANAGE_MESSAGES']
。如果您要使用OR运算符(
|
),您必须调用它两次;该方法不会读取它。啊,好的,我将实现它,感谢您的帮助,非常感谢