我正在编写一个小型机器人,它允许语音频道中的用户查看适合没有麦克风的人的频道,然后删除该频道。
我能够让它看到语音频道中的人员,但我无法创建一个将
PermissionsBitField.Flags.ViewChannel
设置为“拒绝”、在创建频道后设置为“允许”的频道。
我将成员作为对象并通过斜杠命令进行交互。
async function restrictAccess(interaction, listeningMembers) {
listeningMembers.forEach(member => {
interaction.channel.permissionOverwrites.set([
{
id: member.user.id,
allow: [PermissionsBitField.Flags.ViewChannel],
}
]);
});
}
不知道是我写错了,还是在检查语音通道中的用户后我是否需要做其他事情(我每次有人说话就检查语音通道中的用户,不是最优化的,但无论如何)
在您的情况下,permissionOverwrites.set() 只允许一个用户查看频道
改用permissionOverwrites.edit(),即
interaction.channel.permissionOverwrites.edit(member.user.id, { ViewChannel: true });