如何动态更改文本通道Discord.js的权限?

问题描述 投票:0回答:1

我正在编写一个小型机器人,它允许语音频道中的用户查看适合没有麦克风的人的频道,然后删除该频道。

我能够让它看到语音频道中的人员,但我无法创建一个将

PermissionsBitField.Flags.ViewChannel
设置为“拒绝”、在创建频道后设置为“允许”的频道。 我将成员作为对象并通过斜杠命令进行交互。

async function restrictAccess(interaction, listeningMembers) {
    listeningMembers.forEach(member => {
        interaction.channel.permissionOverwrites.set([
            {
                id: member.user.id,
                allow: [PermissionsBitField.Flags.ViewChannel],
            }
        ]);
    });
}

不知道是我写错了,还是在检查语音通道中的用户后我是否需要做其他事情(我每次有人说话就检查语音通道中的用户,不是最优化的,但无论如何)

javascript node.js discord discord.js
1个回答
0
投票

在您的情况下,permissionOverwrites.set() 只允许一个用户查看频道

改用permissionOverwrites.edit(),即

interaction.channel.permissionOverwrites.edit(member.user.id, { ViewChannel: true });

discordjs 文档

© www.soinside.com 2019 - 2024. All rights reserved.