From c941c228504ac2dab075f006954e01fd40ca568b Mon Sep 17 00:00:00 2001 From: Yuzu Date: Sat, 5 Feb 2022 00:00:01 +0700 Subject: [PATCH] Better queue command --- src/discord/MusicPlayer/Queue.ts | 38 ++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/src/discord/MusicPlayer/Queue.ts b/src/discord/MusicPlayer/Queue.ts index 496927d..069e85c 100644 --- a/src/discord/MusicPlayer/Queue.ts +++ b/src/discord/MusicPlayer/Queue.ts @@ -13,18 +13,32 @@ const EMBEDS = { description: `The queue is empty!`, user: (data instanceof Interaction) ? data.user : data.author }); - else if(queue.track.length == 1) - return makeInfoEmbed({ - title: `Queue`, - description: `Now playing: ${queue.track[0].title}\n\nThe queue is empty!`, - user: (data instanceof Interaction) ? data.user : data.author - }); - else - return makeInfoEmbed({ - title: `Queue`, - description: `Now playing: ${queue.track[0].title}\n\nUpcoming song: ${queue.track[1].title}\n\nThere are ${Object.keys(queue).length} songs in the queue!`, - user: (data instanceof Interaction) ? data.user : data.author - }); + else { + if(queue.track.length == 1) { + let queueString = `1. [${queue.track[0].title}](${queue.track[0].url})` + return makeInfoEmbed({ + title: `Queue`, + description: `Now playing: ${queue.track[0].title}\n\nThere are ${queue.track.length} song in the queue!\n${queueString}`, + user: (data instanceof Interaction) ? data.user : data.author + }); + } + else if(queue.track.length >= 10) { + let first10 = queue.track.slice(0, 10); + let queueString = first10.map((track, index) => `${index + 1}. [${track.title}](${track.url})`).join("\n"); + return makeInfoEmbed({ + title: `Queue`, + description: `Now playing: ${queue.track[0].title}\nUpcoming song: ${queue.track[1].title}\n\nThere are ${queue.track.length} songs in the queue!\n${queueString}\n${queue.track.length > 10 ? `...${queue.track.length - 10} more songs` : ""}`, + user: (data instanceof Interaction) ? data.user : data.author + }); + } else { + let queueString = queue.track.map((track, index) => `${index + 1}. [${track.title}](${track.url})`).join("\n"); + return makeInfoEmbed({ + title: `Queue`, + description: `Now playing: ${queue.track[0].title}\nUpcoming song: ${queue.track[1].title}\n\nThere are ${queue.track.length} songs in the queue!\n${queueString}`, + user: (data instanceof Interaction) ? data.user : data.author + }); + } + } }, NO_MUSIC_PLAYING: (data: Message | Interaction) => { return makeErrorEmbed({