77 lines
2.5 KiB
JavaScript
77 lines
2.5 KiB
JavaScript
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 })
|
|
} |