diff options
Diffstat (limited to 'To be worked on')
| -rw-r--r-- | To be worked on/leave.js | 39 | ||||
| -rw-r--r-- | To be worked on/play.js | 159 | ||||
| -rw-r--r-- | To be worked on/queue.js | 48 | ||||
| -rw-r--r-- | To be worked on/skip.js | 60 |
4 files changed, 146 insertions, 160 deletions
diff --git a/To be worked on/leave.js b/To be worked on/leave.js index e1584f0..6712a8d 100644 --- a/To be worked on/leave.js +++ b/To be worked on/leave.js @@ -1,5 +1,5 @@ -/**************************************** - * +/** ************************************** + * * Leave: Command for AleeBot * Copyright (C) 2018 AleeCorp * @@ -15,29 +15,28 @@ * * 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) => { - if (!message.member.voiceChannel) return message.reply('You need a voice channel to perform this action.'); + if (!message.member.voiceChannel) return message.reply('You need a voice channel to perform this action.'); - if (!message.guild.me.voiceChannel) return message.reply('Error: The bot isn\'t connected to a voice channel.') + if (!message.guild.me.voiceChannel) return message.reply('Error: The bot isn\'t connected to a voice channel.'); - if (message.guild.me.voiceChannelID !== message.member.voiceChannelID) return message.reply('Error: You aren\'t connected in the same voice channel as the bot...'); + if (message.guild.me.voiceChannelID !== message.member.voiceChannelID) return message.reply('Error: You aren\'t connected in the same voice channel as the bot...'); - message.guild.me.voiceChannel.leave(); + message.guild.me.voiceChannel.leave(); - message.channel.send("Leaving channel...") + message.channel.send('Leaving channel...'); +}; - }; - - exports.conf = { - aliases: [], - guildOnly: false, - }; - exports.help = { - name: 'leave', - description: 'Leaves voice chat.', - usage: 'leave', - category: '- Music Commands', - };
\ No newline at end of file +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'leave', + description: 'Leaves voice chat.', + usage: 'leave', + category: '- Music Commands', +}; 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', +}; diff --git a/To be worked on/queue.js b/To be worked on/queue.js index 77d86b7..e1ef7c6 100644 --- a/To be worked on/queue.js +++ b/To be worked on/queue.js @@ -1,5 +1,5 @@ -/**************************************** - * +/** ************************************** + * * Queue: Command for AleeBot * Copyright (C) 2018 AleeCorp * @@ -15,35 +15,33 @@ * * 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) => { - - let fetched = ops.active.get(message.guild.id); + const fetched = ops.active.get(message.guild.id); - if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.'); + if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.'); - let queue = fetched.queue - let nowPlaying = queue[0]; + const queue = fetched.queue; + const nowPlaying = queue[0]; - let resp = `__**Now Playing**__\n**${nowPlaying.songTitle}** -- **Requested By:** *${nowPlaying.requester}*\n\n__**Queue**__\n`; + let resp = `__**Now Playing**__\n**${nowPlaying.songTitle}** -- **Requested By:** *${nowPlaying.requester}*\n\n__**Queue**__\n`; - for (var i = 1; i < queue.length; i++) { - resp += `${i}. **${queue[i].songTitle}** -- **Requested By:** *${queue[i].requester}*\n` - } + for (let i = 1; i < queue.length; i++) { + resp += `${i}. **${queue[i].songTitle}** -- **Requested By:** *${queue[i].requester}*\n`; + } - message.channel.send(resp); + message.channel.send(resp); +}; - }; - - exports.conf = { - aliases: [], - guildOnly: false, - }; - exports.help = { - name: 'queue', - description: 'Checks what music is in queue.', - usage: 'queue', - category: '- Music Commands', - };
\ No newline at end of file +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'queue', + description: 'Checks what music is in queue.', + usage: 'queue', + category: '- Music Commands', +}; diff --git a/To be worked on/skip.js b/To be worked on/skip.js index 5a6d2b7..44880bd 100644 --- a/To be worked on/skip.js +++ b/To be worked on/skip.js @@ -1,5 +1,5 @@ -/**************************************** - * +/** ************************************** + * * Skip: Command for AleeBot * Copyright (C) 2018 AleeCorp * @@ -15,48 +15,44 @@ * * 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 fetched = ops.active.get(message.guild.id); - let fetched = ops.active.get(message.guild.id); - - if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.'); - - if (message.member.voiceChannel !== message.guild.me.voiceChannel) return message.reply('Sorry, you are currently not in the same channel as the bot.') - - let userCount = message.member.voiceChannel.members.size; + if (!fetched) return message.reply('Currently, there isn\'t any music playing in this guild.'); - let required = Math.ceil(userCount/2); + if (message.member.voiceChannel !== message.guild.me.voiceChannel) return message.reply('Sorry, you are currently not in the same channel as the bot.'); - if (!fetched.queue[0].voteSkips) fetched.queue[0].voteSkips = []; + const userCount = message.member.voiceChannel.members.size; - if (fetched.queue[0].voteSkips.includes(message.member.id)) return message.reply(`Sorry, you have already voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`) + const required = Math.ceil(userCount/2); - fetched.queue[0].voteSkips.push(message.member.id); + if (!fetched.queue[0].voteSkips) fetched.queue[0].voteSkips = []; - ops.active.set(message.guild.id, fetched); + if (fetched.queue[0].voteSkips.includes(message.member.id)) return message.reply(`Sorry, you have already voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`); - if (fetched.queue[0].voteSkips.length >= required) { + fetched.queue[0].voteSkips.push(message.member.id); - message.channel.send('Successfully skipped song!'); + ops.active.set(message.guild.id, fetched); - return fetched.dispatcher.emit('finish'); + if (fetched.queue[0].voteSkips.length >= required) { + message.channel.send('Successfully skipped song!'); - } + return fetched.dispatcher.emit('finish'); + } - message.channel.send(`Successfully voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`) + message.channel.send(`Successfully voted to skip! ${fetched.queue[0].voteSkips.length}/${required} required.`); +}; - }; - - exports.conf = { - aliases: [], - guildOnly: false, - }; - exports.help = { - name: 'skip', - description: 'Skips a music.', - usage: 'skip', - category: '- Music Commands', - };
\ No newline at end of file +exports.conf = { + aliases: [], + guildOnly: false, +}; +exports.help = { + name: 'skip', + description: 'Skips a music.', + usage: 'skip', + category: '- Music Commands', +}; |
