所以,我正在制作一个名为“movedebat”的命令,将所有连接到频道类别的语音频道的成员移动到专用于辩论的频道。
为了实现我的目标,我试图获取所有连接成员的列表,然后使用 for(member in members) 循环并移动每个成员。
let debate_channel = message.guild.channels.find(c => c.id === '497910775512563742');
let group_of_channels = message.guild.channels.find(c => c.id === '497908108803440653');
let connected_members = message.guild.channels.filter((c => parentID === group_of_channels.id)&&(c => c.type == 2)).members;
if(message.member.permissions.has('ADMINISTRATOR')){
for(connected_member in connected_members){
console.log(connected_member.id);
connected_member.setVoiceChannel(debate_channel)
.then(() => console.log(`Moved ${connected_member.displayName}`))
.catch(console.error);
}
}
问题是它根本不起作用。我没有收到任何错误,无论是机器人本身在不和谐还是在控制台中。我唯一得到的是警告DeprecationWarning: Collection#filterArray: use Collection#filter instead
,但我用谷歌搜索了它,人们似乎说这并不重要。我认为有问题的行是'让 connected_members(...)members;' 一。我应该提到我希望在我的控制台中看到至少 1 个成员 ID,但我没有得到任何,这意味着 for 循环没有“执行”。
感谢您阅读我,我希望有人可以帮助!^^