discord.js列出具有特定角色的频道

时间:2018-05-27 01:58:02

标签: javascript discord discord.js

试图找到一种方法添加到我的机器人中,如果有人输入例如+ info 它将列出具有特定角色的服务器上的所有通道。 因此,如果角色是VIP,则执行+ info将列出服务器上具有VIP角色的每个频道。

一直在尝试阅读文档,但找不到任何显示我想要的东西。我猜它必须使用不同的模块。 有人能帮忙吗? 干杯

1 个答案:

答案 0 :(得分:0)

您可以遍历公会中的所有频道,并检查用户是否具有VIEW_CHANNEL权限,以检查他们是否有权访问该频道。也许是这样的:

const listedChannels = []; 
message.guild.channels.forEach(channel => { 
    if(channel.permissionsFor(message.author).has('VIEW_CHANNEL')) listedChannels.push(channel.name);
});
message.channel.send(`You have access to: ${listedChannels.join(',')}`);

这样做,是它遍历公会中的通道集合,如果消息的作者有权实际查看通道,那么它会将该通道名称添加到数组中。然后,它会发送一条消息,说明用户有权访问的频道列表。