aboutsummaryrefslogtreecommitdiff
path: root/To be worked on/play.js
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2020-05-22 20:36:26 -0400
committerAndrew Lee <alee14498@protonmail.com>2020-05-22 20:36:26 -0400
commitfc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab (patch)
tree0f4930fd8655e550c974bc404b93149cf7eab4ac /To be worked on/play.js
parentbbb982243b6564e526fb581f55946704cdf256a3 (diff)
downloadAleeBot-fc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab.tar.gz
AleeBot-fc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab.tar.bz2
AleeBot-fc76d7c73ae9ffec6be86fc7d9d9e8c9a14605ab.zip
Added more ALP exclusive logs & cleaning up code
Diffstat (limited to 'To be worked on/play.js')
-rw-r--r--To be worked on/play.js159
1 files changed, 76 insertions, 83 deletions
diff --git a/To be worked on/play.js b/To be worked on/play.js
index ddf80db..d885ee2 100644
--- a/To be worked on/play.js
+++ b/To be worked on/play.js
@@ -1,5 +1,5 @@
-/****************************************
- *
+/** **************************************
+ *
* Play: Command for AleeBot
* Copyright (C) 2018 AleeCorp
*
@@ -15,108 +15,101 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* *************************************/
module.exports.run = async (client, message, args, ops) => {
- const ytdl = require('ytdl-core');
+ const ytdl = require('ytdl-core');
- if (!message.member.voiceChannel) return message.reply('Please connect to a voice channel...');
+ if (!message.member.voiceChannel) return message.reply('Please connect to a voice channel...');
- if (!args[0]) return message.reply('Please input a url.');
+ if (!args[0]) return message.reply('Please input a url.');
- let vaildate = await ytdl.validateURL(args[0]);
+ const vaildate = await ytdl.validateURL(args[0]);
- if (!vaildate) return message.reply('Please input a **valid** url.');
+ if (!vaildate) return message.reply('Please input a **valid** url.');
- let info = await ytdl.getInfo(args[0]);
+ const info = await ytdl.getInfo(args[0]);
- let data = ops.active.get(message.guild.id) || {};
+ const data = ops.active.get(message.guild.id) || {};
- if (!data.connection) data.connection = await message.member.voiceChannel.join();
- if (!data.queue) data.queue = [];
- data.guildID = message.guild.id;
+ if (!data.connection) data.connection = await message.member.voiceChannel.join();
+ if (!data.queue) data.queue = [];
+ data.guildID = message.guild.id;
- data.queue.push({
- songTitle: info.title,
- requester: message.author.tag,
- url: args[0],
- announceChannel: message.channel.id
- });
- if (!data.dispatcher) play(client, ops, data);
- else {
- const { RichEmbed } = require('discord.js');
- const embed = new RichEmbed()
- .setTitle('This music has been added to the queue!')
- .setAuthor(info.title, client.user.avatarURL)
+ data.queue.push({
+ songTitle: info.title,
+ requester: message.author.tag,
+ url: args[0],
+ announceChannel: message.channel.id,
+ });
+ if (!data.dispatcher) play(client, ops, data);
+ else {
+ const {RichEmbed} = require('discord.js');
+ const embed = new RichEmbed()
+ .setTitle('This music has been added to the queue!')
+ .setAuthor(info.title, client.user.avatarURL)
+ .setColor(0x00afff)
+ .setTimestamp()
+ .addField('Title', info.title)
+ .addField('Requested by:', message.author.tag)
+ .setFooter('AleeBot Music Player');
+
+ message.channel.send({embed});
+ }
+
+ ops.active.set(message.guild.id, data);
+};
+
+async function play(client, ops, data) {
+ const ytdl = require('ytdl-core');
+ const {RichEmbed} = require('discord.js');
+ const embed = new RichEmbed()
+ .setTitle('Now playing!')
+ .setAuthor(data.queue[0].songTitle, client.user.avatarURL)
.setColor(0x00afff)
.setTimestamp()
- .addField('Title', info.title)
- .addField('Requested by:', message.author.tag)
+ .addField('Title', data.queue[0].songTitle)
+ .addField('Requested by:', data.queue[0].requester)
+ // .addField('Link', info.url)
+ // .addField('Duration', time)
.setFooter('AleeBot Music Player');
-
- message.channel.send({embed})
- }
-
- ops.active.set(message.guild.id, data);
-
- };
-
- async function play(client, ops, data) {
- const ytdl = require('ytdl-core');
- const { RichEmbed } = require('discord.js');
- const embed = new RichEmbed()
- .setTitle('Now playing!')
- .setAuthor(data.queue[0].songTitle, client.user.avatarURL)
- .setColor(0x00afff)
- .setTimestamp()
- .addField('Title', data.queue[0].songTitle)
- .addField('Requested by:', data.queue[0].requester)
- // .addField('Link', info.url)
- // .addField('Duration', time)
- .setFooter('AleeBot Music Player');
-
- client.channels.get(data.queue[0].announceChannel).send({embed})
-
- data.dispatcher = await data.connection.playStream(ytdl(data.queue[0].url, { filter: 'audioonly'}));
- data.dispatcher.guildID = data.guildID;
-
- data.dispatcher.once('finish', function () {
- finish(client, ops, this);
- });
-
- };
-
- function finish(client, ops, dispatcher) {
- let fetched = ops.active.get(dispatcher.guildID);
+ client.channels.get(data.queue[0].announceChannel).send({embed});
- fetched.queue.shift();
+ data.dispatcher = await data.connection.playStream(ytdl(data.queue[0].url, {filter: 'audioonly'}));
+ data.dispatcher.guildID = data.guildID;
- if (fetched.queue.length > 0) {
+ data.dispatcher.once('finish', function() {
+ finish(client, ops, this);
+ });
+};
- ops.active.set(dispatcher.guildID, fetched);
+function finish(client, ops, dispatcher) {
+ const fetched = ops.active.get(dispatcher.guildID);
- play(client, ops, fetched);
+ fetched.queue.shift();
- } else {
- ops.active.delete(dispatcher.guildID);
+ if (fetched.queue.length > 0) {
+ ops.active.set(dispatcher.guildID, fetched);
- let vc = client.guild.get(dispatcher.guildID).me.voiceChannel;
+ play(client, ops, fetched);
+ } else {
+ ops.active.delete(dispatcher.guildID);
- if (vc) vc.leave();
+ const vc = client.guild.get(dispatcher.guildID).me.voiceChannel;
- }
+ if (vc) vc.leave();
+ }
+}
- }
-
- exports.conf = {
- aliases: [],
- guildOnly: false,
- };
- exports.help = {
- name: 'play',
- description: 'Plays music.',
- usage: 'play [url]',
- category: '- Music Commands',
- }; \ No newline at end of file
+exports.conf = {
+ aliases: [],
+ guildOnly: false,
+};
+exports.help = {
+ name: 'play',
+ description: 'Plays music.',
+ usage: 'play [url]',
+ category: '- Music Commands',
+};