Я хочу равномерно переместить всех участников из канала автора команды в указанное количество каналов. Как и в комнатах обсуждения в Zoom.
var voiceChannel = message.member.voiceState;
[...]
var chnl = message.guild.channels.get(voiceChannel.channelID);
[...]
var roomn = 0;
var category = await message.guild.createChannel("Breakout rooms", 4);
var chnlc = new Array();
while(roomn != args[0])
{
chnlc[roomn] = await message.guild.createChannel(`Room #${roomn+1}`, 2, "Breakout rooms", category.id);
roomn++;
}
[...]
var mbrs = 0;
var currentroom = 0;
while(mbrs != chnl.voiceMembers.size)
{
if(currentroom > args[0]-1)
{
currentroom = 0;
}
chnl.voiceMembers.get(Array.from(chnl.voiceMembers.keys())[mbrs]).edit(chnlc[currentroom].id);
currentroom++;
mbrs++;
}
Я попытался отредактировать идентификатор канала VoiceState участника, я вижу в отладчике, что он редактирует идентификатор канала, но пользователь не перемещается. Теперь, как вы видите выше, я пытаюсь отредактировать участника, но это даже не меняет channelID.
chnl.voiceMembers.get(Array.from(chnl.voiceMembers.keys())[mbrs]).voiceState.channelID = chnlc[currentroom].id;