Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查@everyone是否可以在特定的Discord频道发送消息?_Javascript_Node.js_Discord.js - Fatal编程技术网

Javascript 如何检查@everyone是否可以在特定的Discord频道发送消息?

Javascript 如何检查@everyone是否可以在特定的Discord频道发送消息?,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,基本上,我需要一个返回true或false的函数,这取决于指定频道是否已选中@everyone的SEND\u MESSAGES权限。有人知道怎么做吗?首先,您需要获取角色和频道对象,以检查该特定频道中角色的权限。然后检查特定频道中的权限是否具有特定权限 例如:检查角色对象: let role = message.guild.roles.cache.get('roleid'); let channel = message.guild.channels.cache.get('channelid');

基本上,我需要一个返回
true
false
的函数,这取决于指定频道是否已选中@everyone的
SEND\u MESSAGES
权限。有人知道怎么做吗?

首先,您需要获取
角色
频道
对象,以检查该特定频道中角色的权限。然后检查特定频道中的权限是否具有特定权限

例如:检查角色对象

let role = message.guild.roles.cache.get('roleid');
let channel = message.guild.channels.cache.get('channelid');
if(role.permissionsIn(channel).has('Permissions.FLAGS')){
    //do your thing.
}
let role = message.guild.roles.cache.get('roleid');
let channel = message.guild.channels.cache.get('channelid');
if(channel.permissionsFor(role).has('Permissions.FLAGS')){
    //do your thing.
}
例如:检查通道对象:

let role = message.guild.roles.cache.get('roleid');
let channel = message.guild.channels.cache.get('channelid');
if(role.permissionsIn(channel).has('Permissions.FLAGS')){
    //do your thing.
}
let role = message.guild.roles.cache.get('roleid');
let channel = message.guild.channels.cache.get('channelid');
if(channel.permissionsFor(role).has('Permissions.FLAGS')){
    //do your thing.
}
注意
每个人
角色ID与帮会ID相同。因此,使用帮会ID获取
每个人
角色对象


参考资料:,。

如果您想查看整个公会许可证,也可以使用,我没有阅读全部问题。我道歉