【发布时间】:2020-06-14 23:53:30
【问题描述】:
我正在尝试创建一个命令来创建一个临时语音通道,您可以使用该通道并在用户离开后将其删除。在我将用户添加到频道之前,一切都运行良好。通常添加一个用户不是问题,但我试图让它同时添加多个人,所以你可以这样做!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));
for (const allowedMember in allowed) 是我坚持的部分,无法让它为提到的每个成员循环工作。
因此,我非常感谢任何可能的帮助。先感谢您。 :)
【问题讨论】:
-
你试过“for of”而不是“for in”吗?您可以在此答案中找到不同之处:https://stackoverflow.com/a/50015996/7514874
-
刚试过,现在收到这个错误:TypeError: allowed is not iterable
-
你为什么使用
message.mentions.members.first()?不应该是message.mentions.members吗? -
因为我也遇到了问题。我现在做了
message.mentions.members,得到了 TypeError: Supplied parameter is not a User 也不是 Role。
标签: javascript node.js discord.js