试图找到一种方法添加到我的机器人中,如果有人输入例如+ info 它将列出具有特定角色的服务器上的所有通道。 因此,如果角色是VIP,则执行+ info将列出服务器上具有VIP角色的每个频道。
一直在尝试阅读文档,但找不到任何显示我想要的东西。我猜它必须使用不同的模块。 有人能帮忙吗? 干杯
答案 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(',')}`);
这样做,是它遍历公会中的通道集合,如果消息的作者有权实际查看通道,那么它会将该通道名称添加到数组中。然后,它会发送一条消息,说明用户有权访问的频道列表。