我正在尝试创建一个命令,该命令创建一个您可以使用的临时语音通道,并在用户离开后将其删除。一切正常,直到我意识到将用户添加到频道中。通常,添加一个用户不是问题,但是我试图使其同时添加多个人,因此您可以执行!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中允许的成员)是我所坚持的部分,无法让它工作以针对所提到的每个成员进行循环。
因此,我非常感谢您提供的任何帮助。先感谢您。 :)
答案 0 :(得分:1)
您将不得不遍历message.mentions.members
const allowed = message.mentions.members;
allowed.each(allowedMember => {
channel.overwritePermissions(allowedMember, {
CONNECT: true,
USE_VAD: true,
});
});
您应该改为给他们一个角色,然后更改该角色的覆盖。