Эрис перемещает участников - PullRequest
0 голосов
/ 05 мая 2020

Я хочу равномерно переместить всех участников из канала автора команды в указанное количество каналов. Как и в комнатах обсуждения в 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;
...