42 lines
1.5 KiB
JavaScript
42 lines
1.5 KiB
JavaScript
const { useMasterPlayer } = require('discord-player')
|
|
|
|
module.exports = replay = async (client) => {
|
|
let textChannel = client.channels.cache.get(process.env.DISCORD_MUSIC_TEXTCHANNEL_ID)
|
|
let voiceChannel = client.channels.cache.get(process.env.DISCORD_MUSIC_VOICECHANNEL_ID)
|
|
|
|
let player = useMasterPlayer()
|
|
let queue = player.nodes.create(textChannel.guild, {
|
|
metadata: {
|
|
channel: textChannel,
|
|
client: textChannel.guild.members.me,
|
|
requestedBy: client.user
|
|
},
|
|
selfDeaf: true,
|
|
volume: 20,
|
|
leaveOnEmpty: true,
|
|
leaveOnEmptyCooldown: 300000,
|
|
leaveOnEnd: true,
|
|
leaveOnEndCooldown: 300000,
|
|
skipOnNoStream: true
|
|
})
|
|
|
|
try { if (!queue.connection) await queue.connect(voiceChannel) }
|
|
catch (error) { console.error(error); await textChannel.send(`Y'a eu un problème, <@223831938346123275> ! (${error.message})`) }
|
|
|
|
let result = await player.search(process.env.DISCORD_MUSIC_CURRENT_TRACK, { requestedBy: client.user })
|
|
if (!result.hasTracks()) await textChannel.send(`Aucune musique trouvée pour **${query}** !`)
|
|
let track = result.tracks[0]
|
|
|
|
let entry = queue.tasksQueue.acquire()
|
|
await entry.getTask()
|
|
queue.addTrack(track)
|
|
|
|
let progress = process.env.DISCORD_MUSIC_CURRENT_PROGRESS
|
|
|
|
try {
|
|
await queue.node.play()
|
|
queue.node.seek(progress)
|
|
await textChannel.send(`Relancement de la musique suite à mon redémarrage...`)
|
|
} catch (error) { console.error(error); await textChannel.send(`Y'a eu un problème, <@223831938346123275> ! (${error.message})`) }
|
|
finally { queue.tasksQueue.release() }
|
|
} |