const queue = new Map(); const YouTube = require("simple-youtube-api"); const { util } = require("simple-youtube-api"); const ytdl = require("ytdl-core") module.exports.run = async (bot, message, args) => { let allsongs = ["https://www.youtube.com/watch?v=nGt_JGHYEO4", "https://www.youtube.com/watch?v=qqIyH_9uaOQ", "https://www.youtube.com/watch?v=l0U7SxXHkPY", "https://www.youtube.com/watch?v=Kbj2Zss-5GY", "https://youtube.com/watch?v=2LegcNVM_nM", "https://www.youtube.com/watch?v=72HeWo0CA-E", "https://www.youtube.com/watch?v=6ONRf7h3Mdk", "https://www.youtube.com/watch?v=2a8PgqWrc_4", "https://www.youtube.com/watch?v=i_1y0sdzvF4","https://www.youtube.com/watch?v=iHA_PIAA54U", "https://www.youtube.com/watch?v=AuW6AueB6LA", "https://www.youtube.com/watch?v=oklzVH8FfVQ", "https://www.youtube.com/watch?v=7z_vEuA3IK8", "https://www.youtube.com/watch?v=tbW_bktwiEA", "https://www.youtube.com/watch?v=15QoGoRAtok", "https://www.youtube.com/watch?v=ktkRRMBotZ8", "https://www.youtube.com/watch?v=dQmjxCJFyQA", "https://www.youtube.com/watch?v=4O7o1dV_CfA", "https://www.youtube.com/watch?v=pxP2svcXXQc", "https://www.youtube.com/watch?v=N_aTpyR1TBY", "https://www.youtube.com/watch?v=F-tKr4lsoOk", "https://youtu.be/nf_MNFyKiLo?list=PLwMEL7UNT4o9iMzrvNBXZqXbNPFfT6rVD", "https://www.youtube.com/watch?v=l84Y6qGz4OM", "https://www.youtube.com/watch?v=WOvBxMG_r_M", "https://www.youtube.com/watch?v=SEukhHArmpA", "https://www.youtube.com/watch?v=powCHN8DdXA", "https://youtu.be/2w5c7FWlyPg", "https://www.youtube.com/watch?v=EiCUwc58hMw", "https://www.youtube.com/watch?v=CCaxi3-i-cs"] let rapsongs = ["https://www.youtube.com/watch?v=nGt_JGHYEO4", "https://www.youtube.com/watch?v=qqIyH_9uaOQ", "https://www.youtube.com/watch?v=l0U7SxXHkPY", "https://www.youtube.com/watch?v=Kbj2Zss-5GY", "https://youtube.com/watch?v=2LegcNVM_nM", "https://www.youtube.com/watch?v=72HeWo0CA-E", "https://www.youtube.com/watch?v=6ONRf7h3Mdk", "https://www.youtube.com/watch?v=2a8PgqWrc_4", "https://www.youtube.com/watch?v=i_1y0sdzvF4", "https://www.youtube.com/watch?v=pxP2svcXXQc", "https://www.youtube.com/watch?v=N_aTpyR1TBY"] let edmsongs = ["https://www.youtube.com/watch?v=iHA_PIAA54U", "https://www.youtube.com/watch?v=AuW6AueB6LA", "https://www.youtube.com/watch?v=oklzVH8FfVQ", "https://www.youtube.com/watch?v=7z_vEuA3IK8", "https://www.youtube.com/watch?v=tbW_bktwiEA", "https://www.youtube.com/watch?v=15QoGoRAtok", "https://www.youtube.com/watch?v=ktkRRMBotZ8", "https://www.youtube.com/watch?v=dQmjxCJFyQA", "https://www.youtube.com/watch?v=4O7o1dV_CfA", "https://www.youtube.com/watch?v=F-tKr4lsoOk", "https://youtu.be/nf_MNFyKiLo?list=PLwMEL7UNT4o9iMzrvNBXZqXbNPFfT6rVD", "https://www.youtube.com/watch?v=l84Y6qGz4OM", "https://www.youtube.com/watch?v=WOvBxMG_r_M", "https://www.youtube.com/watch?v=SEukhHArmpA", "https://www.youtube.com/watch?v=powCHN8DdXA", "https://www.youtube.com/watch?v=EiCUwc58hMw", "https://www.youtube.com/watch?v=CCaxi3-i-cs"] let allpick = allsongs[Math.floor(Math.random() * allsongs.length)]; let edmpick = edmsongs[Math.floor(Math.random() * edmsongs.length)]; let rappick = rapsongs[Math.floor(Math.random() * rapsongs.length)]; //FUNCTIONS function repeatedm(){ const youtube = new YouTube("AIzaSyBKmW5PKi5xCAaOuVT1wMqb-dAnliASshM") const searchString = args.slice(1).join(' ') //const url = edmpick.toString() ? edmpick.toString().replace(/<(.+)>/g, '$1') : '' const url = edmpick.toString().replace("https://www.youtube.com/watch?v=", "") try{ var video = youtube.getVideoByID(url) } catch { try{ var videos = youtube.searchVideos(searchString, 1) var video = youtube.getVideoByID(videos[0].id) } catch { return message.channel.send("An Error Has Occured!") } } const song = { id: video.id, title: video.title, url: `https://www.youtube.com/watch?v=${video.id}` } if (message.channel.type !== 'text') return; const voiceChannel = message.member.voice.channel; if (!voiceChannel) { return message.reply('**You Need To Be In A Voice Channel To Play Music!**'); } voiceChannel.join().then(connection => { const stream = ytdl(video.url , { filter: 'audioonly' }); const dispatcher = connection.play(stream); dispatcher.on('finish', () => repeatedm()); }); message.channel.send(`:musical_note: Now Playing: **${video.title}**`); } //CODE START const youtube = new YouTube("AIzaSyBKmW5PKi5xCAaOuVT1wMqb-dAnliASshM") const searchString = args.slice(1).join(' ') //const url = edmpick.toString() ? edmpick.toString().replace(/<(.+)>/g, '$1') : '' const url = edmpick.toString().replace("https://www.youtube.com/watch?v=", "") try{ var video = await youtube.getVideoByID(url) } catch { try{ var videos = await youtube.searchVideos(searchString, 1) var video = await youtube.getVideoByID(videos[0].id) } catch { return message.channel.send("An Error Has Occured!") } } const song = { id: video.id, title: video.title, url: `https://www.youtube.com/watch?v=${video.id}` } if (message.channel.type !== 'text') return; const voiceChannel = message.member.voice.channel; if (!voiceChannel) { return message.reply('**You Need To Be In A Voice Channel To Play Music!**'); } voiceChannel.join().then(connection => { const stream = ytdl(video.url , { filter: 'audioonly' }); const dispatcher = connection.play(stream); dispatcher.on('finish', () => repeatedm()); }); message.channel.send(`:musical_note: Now Playing: **${video.title}**`); } module.exports.help = { name: "edm", aliases: [] };