简体   繁体   English

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

[英]Bulk adding users to a voice channel

I'm trying to create a command that creates a temporary voice channel that you can use and gets deleted after users leave it.我正在尝试创建一个命令来创建一个临时语音通道,您可以使用该通道并在用户离开后被删除。 Everything worked just fine until I came to the point of adding users to the channel.在我将用户添加到频道之前,一切都运行良好。 Normally adding one user isn't an issue, but I'm trying to make it add multiple people at the same time, so you could do.vc @user1 @user2 @user3.通常添加一个用户不是问题,但我试图让它同时添加多个人,所以你可以做.vc @user1 @user2 @user3。 . . . . etc: This is my code:等:这是我的代码:

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));

The for (const allowedMember in allowed) is the part I'm stuck on and can't get it to work to loop for every member mentioneded. for (const allowedMember in allowed)是我坚持的部分,无法让它为提到的每个成员循环工作。

Therefore, I'd really appreciate any help possible.因此,我非常感谢任何可能的帮助。 Thank you in advance.先感谢您。 :) :)

You would have to loop over message.mentions.members您将不得不遍历message.mentions.members

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

You should prob instead just give them a role and change overwrites for that role.相反,您应该给他们一个角色并更改该角色的覆盖。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM