const { EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require('discord.js') const { useQueue } = require('discord-player') module.exports = async (guild) => { let embed = new EmbedBuilder().setColor('#ffc370') let queue = useQueue(guild.id) if (!queue) { embed.setTitle('Aucune session d\'écoute en cours !') return ({ embed, components: null }) } let track = queue.currentTrack if (!track) { embed.setTitle('Aucune musique en cours de lecture !') return ({ embed, components: null }) } embed.setTitle(track.title) .setAuthor({ name: track.author }) .setURL(track.url) .setImage(track.thumbnail) .addFields( { name: 'Durée', value: track.duration, inline: true }, { name: 'Source', value: track.source === 'youtube' ? 'Youtube' : track.source === 'spotify' ? 'Spotify' : 'Inconnu', inline: true }, { name: 'Volume', value: `${queue.node.volume}%`, inline: true }, { name: queue.node.isPaused() ? 'Progression (en pause)' : 'Progression', value: queue.node.createProgressBar() }, { name: 'Loop', value: queue.repeatMode ? queue.repeatMode === 2 ? "File d'Attente" : "Titre" : "Off", inline: true }, { name: 'Autoplay', value: queue.autoplay ? "On" : "Off", inline: true } ) .setDescription(`**Musique suivante :** ${queue.tracks.data[0] ? queue.tracks.data[0].title : 'Aucune'}`) .setFooter({ text: `Demandé par ${track.requestedBy.tag}` }) let components = [ new ActionRowBuilder().addComponents( new ButtonBuilder() .setLabel(queue.node.isPaused() ? '▶️' : '⏸️') .setStyle(2) .setCustomId(queue.node.isPaused() ? 'resume' : 'pause'), new ButtonBuilder() .setLabel('⏹️') .setStyle(2) .setCustomId('stop'), new ButtonBuilder() .setLabel('⏭️') .setStyle(2) .setCustomId('skip') .setDisabled(queue.tracks.data.length !== 0), new ButtonBuilder() .setLabel('🔉') .setStyle(2) .setCustomId('volume_down') .setDisabled(queue.node.volume === 0), new ButtonBuilder() .setLabel('🔊') .setStyle(2) .setCustomId('volume_up') .setDisabled(queue.node.volume === 100) ), new ActionRowBuilder().addComponents( new ButtonBuilder() .setLabel('🔀') .setStyle(2) .setCustomId('shuffle'), new ButtonBuilder() .setLabel('🔁') .setStyle(2) .setCustomId('loop'), new ButtonBuilder() .setLabel('⏮️') .setStyle(2) .setCustomId('previous') .setDisabled(queue.previousTracks ? !queue.previousTracks[0] : true) ) ] return ({ embed, components }) }