Lanbot_Music/commands/music/queue.js

35 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

2022-04-03 04:34:37 +02:00
const { MessageEmbed } = require('discord.js');
module.exports = {
2022-04-18 22:12:21 +02:00
name: 'queue',
aliases: ['q'],
utilisation: '{prefix}queue',
voiceChannel: true,
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
async execute (client, message) {
const queue = player.getQueue(message.guild.id);
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
if (!queue) return message.channel.send(`No music currently playing ${message.author}... try again ? ❌`);
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
if (!queue.tracks[0]) return message.channel.send(`No music in the queue after the current one ${message.author}... try again ? ❌`);
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
const embed = new MessageEmbed();
const methods = ['', '🔁', '🔂'];
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
embed.setColor('RED');
embed.setThumbnail(message.guild.iconURL({ dynamic: true }));
embed.setAuthor(`Server queue - ${message.guild.name} ${methods[queue.repeatMode]}`, client.user.displayAvatarURL({ dynamic: true }));
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
const tracks = queue.tracks.map((track, i) => `**${i + 1}** - ${track.title} | ${track.author} (requested by : ${track.requestedBy.username})`);
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
const songs = queue.tracks.length;
const nextSongs = songs > 5 ? `And **${songs - 5}** other song(s)...` : `In the playlist **${songs}** song(s)...`;
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
embed.setDescription(`Current ${queue.current.title}\n\n${tracks.slice(0, 5).join('\n')}\n\n${nextSongs}`);
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
embed.setTimestamp();
2022-04-03 04:34:37 +02:00
2022-04-18 22:12:21 +02:00
message.channel.send({ embeds: [embed] });
}
};