将用户批量添加到语音通道

时间:2020-06-14 10:05:43

标签: javascript node.js discord.js

我正在尝试创建一个命令,该命令创建一个您可以使用的临时语音通道,并在用户离开后将其删除。一切正常,直到我意识到将用户添加到频道中。通常,添加一个用户不是问题,但是我试图使其同时添加多个人,因此您可以执行!vc @ user1 @ user2 @ user3。 。 。等等 这是我的代码:

let member = message.member
user = member.user
const allowed = message.mentions.members.first()

 message.delete()
 message.guild.createChannel(`?${member.user.username}'s Room`, 'voice', [{

                    id: message.guild.id,
                    deny: ['CONNECT', 'USE_VAD']

                }]).then(channel => {

                    channel.setParent('567718414454358026')

                    channel.overwritePermissions(member, {
                        CONNECT: true,
                        USE_VAD: true,
                        PRIORITY_SPEAKER: true
                    })

                    for (const allowedMember in allowed) {
                        channel.overwritePermissions(allowedMember, {
                          CONNECT: true,
                          USE_VAD: true,
                        })
                      }

                });

let privatevc = new Discord.RichEmbed()
    .setDescription(':white_check_mark: Successfully created a :lock: **private** voice channel!')
    .setColor(config.green)

await message.channel.send({ embed: privatevc }).then(msg => msg.delete(10000));

(常量constallowMember中允许的成员)是我所坚持的部分,无法让它工作以针对所提到的每个成员进行循环。

因此,我非常感谢您提供的任何帮助。先感谢您。 :)

1 个答案:

答案 0 :(得分:1)

您将不得不遍历message.mentions.members

const allowed = message.mentions.members;
allowed.each(allowedMember => {
  channel.overwritePermissions(allowedMember, {
       CONNECT: true,
       USE_VAD: true,
  });
});

您应该改为给他们一个角色,然后更改该角色的覆盖。