From d48d4e67bd8c827ddb40b335667a631b90ef99ce Mon Sep 17 00:00:00 2001 From: ethanf Date: Wed, 31 Jan 2024 16:35:11 -0600 Subject: [PATCH] fix hopefully: select fk at random --- index.js | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/index.js b/index.js index a3c09a4..e644058 100644 --- a/index.js +++ b/index.js @@ -375,30 +375,31 @@ client.on("interactionCreate", async (interaction) => { ); // get members in voice channel - const addupPlayers = Array.from(addup.members.values()); - if (addupPlayers.length === 0 && pickingPlayers.length <= 18) { + const addupPlayers = []; + const pickingPlayers = []; + addup.members.forEach((member) => addupPlayers.push(member)); + picking.members.forEach((member) => pickingPlayers.push(member)); + if (pickingPlayers.length < addupPlayers.length) { + // move all addup into empty picking + addup.members.forEach((member) => { + member.voice.setChannel(picking); + }); return await interaction.followUp( - "Found no players in addup and picking has 18 or fewer players" + "Found too few players in picking to fatkid, moved all addup players to picking instead" ); } - const pickingPlayers = Array.from(picking.members.values()); - if (pickingPlayers.length === 0) { - return await interaction.followUp("Found no players in picking"); - } - let fatkids = []; // select excess players to be sat out - console.log( - pickingPlayers.length, - addupPlayers.length, - pickingPlayers.length + addupPlayers.length - ); - while (pickingPlayers.length + addupPlayers.length > 18) { + if (pickingPlayers.length === 0) { + return await interaction.followUp( + "Error: ran out of players in picking to fatkid" + ); + } const idx = Math.floor(Math.random() * pickingPlayers.length); let fk = await pickingPlayers.splice(idx, 1)[0]; - console.log(getApplicableName(fk)); + console.log(fk); fatkids.push(fk); } @@ -417,7 +418,6 @@ client.on("interactionCreate", async (interaction) => { // move players from picking to fatkid for (const fk of fatkids) { try { - //if (picking.members.size <= 18) break; await fk.voice.setChannel(addup); } catch (error) { console.error(error); @@ -466,7 +466,9 @@ client.on("interactionCreate", async (interaction) => { // select excess players to be sat out while (pickingPlayers.length + addupPlayers.length > 3) { if (pickingPlayers.length === 0) { - return await interaction.followUp("Error: ran out of players in picking to fatkid"); + return await interaction.followUp( + "Error: ran out of players in picking to fatkid" + ); } const idx = Math.floor(Math.random() * pickingPlayers.length); let fk = await pickingPlayers.splice(idx, 1)[0];