music: implement queue command
This commit is contained in:
parent
64b34c56d6
commit
d033366c6c
1 changed files with 36 additions and 1 deletions
|
@ -596,7 +596,42 @@ command.callback = async function (msg, line) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
case "queue":
|
case "queue":
|
||||||
case "q":
|
case "q": {
|
||||||
|
if (!voiceStorage.has(msg.guildID))
|
||||||
|
return "The bot is not in a voice channel";
|
||||||
|
|
||||||
|
const connection = voiceStorage.get(msg.guildID);
|
||||||
|
const queue = connection._music_queue;
|
||||||
|
if (queue.length === 0) return "Nothing else is currently queued";
|
||||||
|
|
||||||
|
const nowPlaying = connection._music_nowplaying;
|
||||||
|
|
||||||
|
const now = Date.now();
|
||||||
|
let nextTrack = now + (nowPlaying.length - (now - nowPlaying.start));
|
||||||
|
const fields = [];
|
||||||
|
for (const index in queue.slice(0, 8)) {
|
||||||
|
const item = queue[index];
|
||||||
|
fields.push({
|
||||||
|
name: item.title ? `[${item.title}](${item.url})` : item.url,
|
||||||
|
value: `${formatTime(item.length)}\nAdded by: <@${
|
||||||
|
item.addedBy
|
||||||
|
}>\n<t:${nextTrack}:R>`,
|
||||||
|
inline: true,
|
||||||
|
});
|
||||||
|
nextTrack += item.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
embed: {
|
||||||
|
title: "Currently Queued",
|
||||||
|
color: 0x0088cc,
|
||||||
|
fields,
|
||||||
|
footer: {
|
||||||
|
text: queue.length > 9 ? `Showing 9/${queue.length}` : "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
case "remove":
|
case "remove":
|
||||||
case "qr":
|
case "qr":
|
||||||
case "lock":
|
case "lock":
|
||||||
|
|
Loading…
Reference in a new issue