Maj pkgs + fix dep des buttons / commands + Ajout fichiers utils
This commit is contained in:
123
events/ready.js
123
events/ready.js
@@ -1,5 +1,9 @@
|
||||
const { Events, EmbedBuilder, ButtonBuilder, ActionRowBuilder } = require('discord.js')
|
||||
const { useQueue } = require("discord-player")
|
||||
const { Events } = require('discord.js')
|
||||
//const { DataTypes } = require("sequelize")
|
||||
//const sequelize = require('../utils/initSequelize.js')
|
||||
const generatePlayer = require('../utils/generatePlayer.js')
|
||||
const getUptime = require('../utils/getUptime.js')
|
||||
require('dotenv').config()
|
||||
|
||||
const dance = async function (bot_id, channel, embed, components) {
|
||||
let messages = await channel.messages.fetch()
|
||||
@@ -7,17 +11,7 @@ const dance = async function (bot_id, channel, embed, components) {
|
||||
if (!botMessage || (!components && botMessage.components.length > 0)) {
|
||||
await channel.bulkDelete(messages)
|
||||
return await channel.send({ embeds: [embed] })
|
||||
} else {
|
||||
await botMessage.edit({ embeds: [embed], components })
|
||||
}
|
||||
}
|
||||
|
||||
const getUptime = 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`
|
||||
} else await botMessage.edit({ embeds: [embed], components })
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
@@ -25,75 +19,42 @@ module.exports = {
|
||||
once: true,
|
||||
execute(client) {
|
||||
console.log(`\u001b[1;35m Ready! Logged in as ${client.user.tag}`)
|
||||
setInterval(async () => {
|
||||
let guild = client.guilds.cache.get('1086577543651524699')
|
||||
let channel = guild.channels.cache.get('1099542278764245096')
|
||||
|
||||
let queue = useQueue(guild.id)
|
||||
if (!queue) return await dance(client.user.id, channel, new EmbedBuilder().setColor('#ffc370').setTitle('Aucune session d\'écoute en cours !').setFooter({ text: `Uptime: ${getUptime(client.uptime)}` }))
|
||||
let track = queue.currentTrack
|
||||
if (!track) return await dance(client.user.id, channel, new EmbedBuilder().setColor('#ffc370').setTitle('Aucune musique en cours de lecture !').setFooter({ text: `Uptime: ${getUptime(client.uptime)}` }))
|
||||
|
||||
let embed = new EmbedBuilder()
|
||||
.setColor('#ffc370')
|
||||
.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: `Uptime: ${getUptime(client.uptime)} / 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)
|
||||
)
|
||||
]
|
||||
await dance(client.user.id, channel, embed, components)
|
||||
//try {
|
||||
// sequelize.authenticate()
|
||||
// console.log('Connection has been established successfully.')
|
||||
//} catch (error) { console.error('Unable to connect to the database:', error) }
|
||||
|
||||
var interval = setInterval(async () => {
|
||||
//client.guilds.cache.each(async guild => {
|
||||
//const Data = sequelize.define(guild.id, {
|
||||
// playerChannelId: DataTypes.STRING
|
||||
//})
|
||||
//await sequelize.sync({ force: true })
|
||||
|
||||
//if (!Data.playerChannelId) {
|
||||
// clearInterval(interval)
|
||||
// return console.log(`\u001b[1;31m Aucun channel inscrit dans la base, veuillez utiliser la commande \`/setchannel\` !`)
|
||||
//}
|
||||
//let channel = client.channels.cache.get(Data.playerChannelId)
|
||||
|
||||
let guild = client.guilds.cache.get(process.env.DISCORD_GUILD_ID)
|
||||
let channel = client.channels.cache.get(process.env.DISCORD_PLAYERCHANNEL_ID)
|
||||
if (!channel) {
|
||||
clearInterval(interval)
|
||||
return console.log(`\u001b[1;31m Error: Aucun channel trouvé avec l'id \`${process.env.DISCORD_PLAYERCHANNEL_ID}\`, veuillez utiliser la commande \`/setchannel\` !`)
|
||||
}
|
||||
|
||||
let { embed, components } = await generatePlayer(guild)
|
||||
|
||||
if (components) {
|
||||
embed.setFooter({ text: `Uptime: ${getUptime(client.uptime)} / ${embed.data.footer.text}` })
|
||||
await dance(client.user.id, channel, embed, components)
|
||||
} else {
|
||||
embed.setFooter({ text: `Uptime: ${getUptime(client.uptime)}` })
|
||||
await dance(client.user.id, channel, embed)
|
||||
}
|
||||
//})
|
||||
}, 4000)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user