Maj pkgs + fix dep des buttons / commands + Ajout fichiers utils

This commit is contained in:
Zachary Guénot
2023-05-08 15:16:50 +02:00
parent 9d8de23a06
commit b1b638f429
32 changed files with 3824 additions and 5719 deletions

63
utils/editPlayer.js Normal file
View File

@@ -0,0 +1,63 @@
const { ActionRowBuilder, ButtonBuilder } = require('discord.js')
module.exports = async (interaction) => {
/*let components = [
new ActionRowBuilder().addComponents(
interaction.message.components[0].components.forEach(button => {
return new ButtonBuilder().setCustomId(button.customId).setLabel(button.label).setStyle(button.style).setDisabled(true)
})
),
new ActionRowBuilder().addComponents(
interaction.message.components[1].components.forEach(button => {
return new ButtonBuilder().setCustomId(button.customId).setLabel(button.label).setStyle(button.style).setDisabled(true)
})
)
]*/
let components = [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setLabel(interaction.message.components[0].components[0].label)
.setStyle(2)
.setCustomId(interaction.message.components[0].components[0].customId)
.setDisabled(true),
new ButtonBuilder()
.setLabel('⏹️')
.setStyle(2)
.setCustomId('stop')
.setDisabled(true),
new ButtonBuilder()
.setLabel('⏭️')
.setStyle(2)
.setCustomId('skip')
.setDisabled(true),
new ButtonBuilder()
.setLabel('🔉')
.setStyle(2)
.setCustomId('volume_down')
.setDisabled(true),
new ButtonBuilder()
.setLabel('🔊')
.setStyle(2)
.setCustomId('volume_up')
.setDisabled(true)
),
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setLabel('🔀')
.setStyle(2)
.setCustomId('shuffle')
.setDisabled(true),
new ButtonBuilder()
.setLabel('🔁')
.setStyle(2)
.setCustomId('loop')
.setDisabled(true),
new ButtonBuilder()
.setLabel('⏮️')
.setStyle(2)
.setCustomId('previous')
.setDisabled(true)
)
]
interaction.update({ components, content: 'Chargement...' })
}

74
utils/generatePlayer.js Normal file
View File

@@ -0,0 +1,74 @@
const { EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require('discord.js')
const { useQueue } = require('discord-player')
module.exports = async (guild) => {
let queue = useQueue(guild.id)
let embed = new EmbedBuilder().setColor('#ffc370')
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[0] ? queue.tracks[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.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 })
}

7
utils/getUptime.js Normal file
View File

@@ -0,0 +1,7 @@
module.exports = function (uptime) {
let days = Math.floor(uptime / 86400000)
let hours = Math.floor(uptime / 3600000) % 24
let minutes = Math.floor(uptime / 60000) % 60
let seconds = Math.floor(uptime / 1000) % 60
return `${days}J, ${hours}H, ${minutes}M et ${seconds}S`
}

10
utils/initSequelize.js Normal file
View File

@@ -0,0 +1,10 @@
const Sequelize = require('sequelize')
require('dotenv').config()
module.exports = new Sequelize(process.env.SEQUELIZE_DATABASE, process.env.SEQUELIZE_USER, process.env.SEQUELIZE_PASSWORD, {
host: process.env.SEQUELIZE_HOST,
dialect: process.env.SEQUELIZE_DIALECT,
dialectOptions: process.env.SEQUELIZE_DIALECTOPTIONS,
logging: process.env.SEQUELIZE_LOGGING === 'true',
storage: process.env.SEQUELIZE_STORAGE
})

1
utils/playerButtons.js Normal file
View File

@@ -0,0 +1 @@
module.exports = ['loop', 'pause', 'previous', 'resume', 'shuffle', 'skip', 'stop', 'volume_down', 'volume_up']