diff --git a/index.js b/index.js index d25afd6..914c70a 100644 --- a/index.js +++ b/index.js @@ -163,24 +163,31 @@ client.on("interactionCreate", async (interaction) => { // move members to addup let idx = 0, eCount = 0; - members.forEach(async (member) => { - idx++; - console.log(idx, members.size); + + const moveToAddup = async (member) => { try { await member.voice.setChannel(picking); } catch (error) { console.error(error); eCount++; } - // respond when done - if (idx === members.size) { - return await interaction.followUp( - `moved members in ${ - command === "resetteams" ? "blu" : "addup, blu," - } and red${eCount > 0 ? ` (error moving ${eCount} members)` : ""}` - ); - } - }); + }; + + const moveAllToAddup = async () => { + return Promise.all( + Array.from(members, async ([memberId, member]) => { + await moveToAddup(member); + }) + ); + }; + + moveAllToAddup().then(() => + interaction.followUp( + `moved members in ${ + command === "resetteams" ? "blu" : "addup, blu," + } and red${eCount > 0 ? ` (error moving ${eCount} members)` : ""}` + ) + ); } if (command === "fk" || command === "fatkid") { @@ -196,12 +203,12 @@ client.on("interactionCreate", async (interaction) => { ); if (!fk) return console.error("Can't find channel 'fatkid'!"); + // get members in voice channel const members = picking.members; if (members.size === 0) { return await interaction.followUp("found no members in picking"); } - // get members in voice channel let str = "", eCount = 0; @@ -216,7 +223,7 @@ client.on("interactionCreate", async (interaction) => { } }; - const processAllEntries = async () => { + const logAllFks = async () => { return Promise.all( Array.from(members, async ([memberId, member]) => { await logFk(member); @@ -224,7 +231,7 @@ client.on("interactionCreate", async (interaction) => { ); }; - processAllEntries().then(() => + logAllFks().then(() => interaction.followUp( `fatkids: ${str}${ eCount > 0 ? ` (error moving ${eCount} members)` : ""