diff --git a/commands/Music/play.js b/commands/Music/play.js index 270913e..15079af 100644 --- a/commands/Music/play.js +++ b/commands/Music/play.js @@ -1,15 +1,34 @@ +function play(connection, message) { + var server = servers[message.guild.id]; + + server.dispatcher = connection.playStream(ytdl(server.queue[0],{filter: "audioonly"})); + server.queue.shift(); + server.dispatcher.on("end", function() { + if(server.queue[0]) { + play(connection, message); + } else { + connection.disconnect(); + } + }) +}; + const ytdl = require("ytdl-core"); var servers = {}; exports.run = async (client, message, args, level) => { if(!args[1] || args[1].startsWith("https://")) return (await message.reply("you need to provide a valid URL!")).delete(5000).catch(() => { }); if(!message.member.voiceChannel) (await return message.reply("you need to be in a voice channel to use this command.")).delete(5000).catch(() => { }); - + if(!servers[message.guild.id]) servers[message.guild.id] = { queue: [] } - + var server = servers[message.guild.id]; + server.queue.push(args[1]); + + if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection) { + play(connection, message); + }) }; exports.conf = {