From 75e23480cc2fdc4074b1c4f49cd70427d5a07abd Mon Sep 17 00:00:00 2001 From: Alee Date: Mon, 26 Mar 2018 15:05:48 -0400 Subject: Removing the music command --- bot_discord.js | 2 +- commands/play.js | 95 -------------------------------------------------------- music.js | 92 ------------------------------------------------------ 3 files changed, 1 insertion(+), 188 deletions(-) delete mode 100644 commands/play.js delete mode 100644 music.js diff --git a/bot_discord.js b/bot_discord.js index 83dc12e..97405ea 100644 --- a/bot_discord.js +++ b/bot_discord.js @@ -31,7 +31,7 @@ const fs = require('fs'); const config = require('./absettings.json'); console.log('Welcome to AleeBot NodeJS Terminal!'); -client.apikey = config.ytapikey; +// client.apikey = config.ytapikey; client.commands = new Discord.Collection(); client.aliases = new Discord.Collection(); client.servers = {}; diff --git a/commands/play.js b/commands/play.js deleted file mode 100644 index cab6329..0000000 --- a/commands/play.js +++ /dev/null @@ -1,95 +0,0 @@ -/******************************** - * - * Play: Command for AleeBot - * - * Copyright (c) 2018 AleeCorp & jtsshieh - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - ********************************/ -module.exports.run = async (client, message, args) => { - if (!args[0]) return await message.channel.send('A name of the song of a link is needed.'); - if (!message.member.voiceChannelID) return await message.channel.send('You are not in a voice channel'); - const YouTube = require('simple-youtube-api'); - const moment = require('moment'); - const youtube = new YouTube(client.apikey); - const url = args.join(' ').replace(/<(.+)>/g, '$1'); - if (!url) return; - await youtube.getVideo(url) - .then(results => { - YTVideo(results); - }) - .catch(() => { - youtube.searchVideos(args.join(' '), 1) - .then(results => { - youtube.getVideo(results[0].url) - .then(vid => { - YTVideo(vid); - }); - }); - }); - - const music = require('../music.js'); - async function YTVideo(video) { - if (video.durationSeconds === 0) { - return message.channel.send('Live streams are not available'); - } - const d = moment.duration({ - s: video.durationSeconds - }); - - const server = music.MusicVariables(client, message.member.guild.id); - const time = moment().startOf('day').add(d).format('HH:mm:ss'); - server.queue.push({ - url: video.url, - title: video.title, - thumbnail: video.thumbnails.high.url, - duration: video.durationSeconds, - requested: message.author.mention, - playing: false - }); - const { RichEmbed } = require('discord.js'); - - const embed = new RichEmbed() - .setTitle('A song has been queued') - .setAuthor(video.title, video.thumbnails.high.url) - .setColor(0x00afff) - .setTimestamp() - .addField('Title', video.title) - .addField('Link', video.url) - .addField('Duration', time) - .setThumbnail(video.thumbnails.high.url) - .setFooter('AleeBot Music Player'); - await message.channel.send({embed}); - if (!client.voiceConnections.get(message.member.guild.id)) - message.member.voiceChannel.join().then(function(connection) { - music.playYT(client, connection, message); - }); - return null; - }}; - -exports.conf = { - aliases: [], - guildOnly: true, -}; -exports.help = { - name: 'play', - description: 'Plays music', - usage: 'play [args]', - category: '- Music Commands', -}; diff --git a/music.js b/music.js deleted file mode 100644 index a4e0b90..0000000 --- a/music.js +++ /dev/null @@ -1,92 +0,0 @@ -/******************************** - * - * Music: Plugin for AleeBot - * - * Copyright (c) 2018 AleeCorp & jtsshieh - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - ********************************/ -// Created by jtsshieh#6434 in the BonGon project: https://github.com/jtsshieh/BonGon - -const YTDL = require('ytdl-core'); -module.exports.playYT = async (bot, connection, msg) => { - const EventEmitter = require('events'); - class MyEmitter extends EventEmitter {} - bot.musicEmit = new MyEmitter(); - - const musicvariables = require('./music.js').MusicVariables; - const server = musicvariables(bot, msg.member.guild.id); - - server.dispatcher = connection; - - connection.playStream(YTDL(server.queue[0].url, { - filter: 'audioonly' - })); - - server.nowPlaying = server.queue[0]; - server.beforeNowPlaying = server.nowPlaying; - - - server.queue.shift(); - - server.nowPlaying.playing = true; - - let time = 0; - let counter = setInterval( - function() { - time = time + 1; - server.dispatcher.time = time; - }, 1000); - - bot.musicEmit.on('paused', () => { - clearInterval(counter); - }); - - bot.musicEmit.on('resumed',() =>{ - counter = setInterval( - function() { - time = time + 1; - server.dispatcher.time = time; - }, 1000); - }); - - connection.once('end', function() { - clearInterval(counter); - - if (server.queue[0] || server.beforeNowPlaying) { - if (server.repeat) { - server.queue.push(server.beforeNowPlaying); - } - - server.nowPlaying = null; - bot.playYT(connection, msg); - } - - else { - bot.leaveVoiceChannel(connection.channelID); - bot.servers[msg.member.guild.id] = null; - } - }); -}; -module.exports.MusicVariables = (bot, guildID) => { - if (!bot.servers[guildID]) { - bot.servers[guildID] = {'queue' : [], 'dispatcher': null, 'repeat': false}; - } - return bot.servers[guildID]; -}; -- cgit v1.2.3