summaryrefslogtreecommitdiff
path: root/dist/commands/voice
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-15 02:58:49 -0700
committer8cy <[email protected]>2020-04-15 02:58:49 -0700
commitf4776cce45fba4380d6652fef5b9a6fbf78f8e16 (patch)
tree1fbdc404a6d4d8b6a8cd17cc26602b6e7d6c639e /dist/commands/voice
parentThe Start (diff)
downloaddep-core-test.tar.xz
dep-core-test.zip
The Uwuficationtest
Diffstat (limited to 'dist/commands/voice')
-rw-r--r--dist/commands/voice/abee.js167
-rw-r--r--dist/commands/voice/itemshop.js176
-rw-r--r--dist/commands/voice/join.js34
-rw-r--r--dist/commands/voice/leave.js33
-rw-r--r--dist/commands/voice/loop.js31
-rw-r--r--dist/commands/voice/minecraft.js177
-rw-r--r--dist/commands/voice/pause.js29
-rw-r--r--dist/commands/voice/play.js232
-rw-r--r--dist/commands/voice/psycho.js166
-rw-r--r--dist/commands/voice/queue.js52
-rw-r--r--dist/commands/voice/remove.js39
-rw-r--r--dist/commands/voice/resume.js29
-rw-r--r--dist/commands/voice/shuffle.js48
-rw-r--r--dist/commands/voice/skip.js28
-rw-r--r--dist/commands/voice/skipall.js43
-rw-r--r--dist/commands/voice/skipto.js40
-rw-r--r--dist/commands/voice/volume.js43
17 files changed, 1367 insertions, 0 deletions
diff --git a/dist/commands/voice/abee.js b/dist/commands/voice/abee.js
new file mode 100644
index 0000000..307afad
--- /dev/null
+++ b/dist/commands/voice/abee.js
@@ -0,0 +1,167 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const ytdl_core_1 = __importDefault(require("ytdl-core"));
+const discord_js_commando_1 = require("discord.js-commando");
+const discord_js_1 = require("discord.js");
+const simple_youtube_api_1 = __importDefault(require("simple-youtube-api"));
+const config_json_1 = __importDefault(require("../../config.json"));
+const youtube = new simple_youtube_api_1.default(config_json_1.default['yt-api-key']);
+const emoji_random_1 = __importDefault(require("emoji-random"));
+module.exports = class ABeeVoice extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'abee',
+ aliases: ['a-bee'],
+ group: 'voice',
+ memberName: 'abee',
+ description: 'A bee 🐝',
+ guildOnly: true,
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ examples: ['uwu!abee', 'uwu!a-bee'],
+ });
+ }
+ run(msg) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.say('Please join a channel and try again. ' + emoji_random_1.default.random());
+ const id = 'lvdnhWhQBdo';
+ const video = yield youtube.getVideoByID(id).catch(function () {
+ return msg.say('There was a problem getting the video you provided. ' + emoji_random_1.default.random());
+ });
+ msg.guild.musicData.queue.push(this.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false ||
+ typeof msg.guild.musicData.isPlaying == 'undefined') {
+ msg.guild.musicData.isPlaying = true;
+ return this.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ var that = this;
+ msg.channel
+ .awaitMessages(function (msg) {
+ return (msg.content > 0 && msg.content < 6) || msg.content === 'exit';
+ }, {
+ max: 1,
+ time: 60000,
+ errors: ['time']
+ })
+ .then(function (response) {
+ const videoIndex = parseInt(response.first().content);
+ if (response.first().content === 'exit')
+ return songEmbed.delete();
+ youtube
+ .getVideoByID(videos[videoIndex - 1].id)
+ .then(function (video) {
+ msg.guild.musicData.queue.push(that.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ that.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ })
+ .catch(function () {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('An error has occured when trying to get the video ID from YouTube. ' + emoji_random_1.default.random());
+ });
+ });
+ });
+ }
+ playSong(queue, msg) {
+ const classThis = this;
+ queue[0].voiceChannel
+ .join()
+ .then(function (connection) {
+ const dispatcher = connection
+ .play(ytdl_core_1.default(queue[0].url, {
+ quality: 'highestaudio',
+ highWaterMark: 1024 * 1024 * 10
+ }))
+ .on('start', function () {
+ msg.guild.musicData.songDispatcher = dispatcher;
+ const volume = 100 / 100;
+ msg.guild.musicData.volume = volume;
+ dispatcher.setVolume(msg.guild.musicData.volume);
+ const videoEmbed = new discord_js_1.MessageEmbed()
+ .setThumbnail(queue[0].thumbnail)
+ .setColor(0xF97DAE)
+ .addField('Now playing:', queue[0].title)
+ .addField('Duration:', queue[0].duration);
+ if (queue[1])
+ videoEmbed.addField('Next song:', queue[1].title);
+ msg.say(videoEmbed);
+ msg.guild.musicData.nowPlaying = queue[0];
+ return queue.shift();
+ })
+ .on('finish', function () {
+ if (queue.length >= 1) {
+ return classThis.playSong(queue, msg);
+ }
+ else {
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ }
+ })
+ .on('error', function (e) {
+ msg.say('Can\'t play song. ' + emoji_random_1.default.random());
+ console.error(e);
+ msg.guild.musicData.queue.length = 0;
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ });
+ })
+ .catch(function (e) {
+ console.error(e);
+ return msg.guild.me.voice.channel.leave();
+ });
+ }
+ constructSongObj(video, voiceChannel) {
+ let duration = this.formatDuration(video.duration);
+ if (duration == '00:00')
+ duration = 'Live Stream';
+ return {
+ url: `https://www.youtube.com/watch?v=${video.raw.id}`,
+ title: video.title,
+ duration,
+ thumbnail: video.thumbnails.high.url,
+ voiceChannel
+ };
+ }
+ formatDuration(durationObj) {
+ const duration = `${durationObj.hours ? (durationObj.hours + ':') : ''}${durationObj.minutes ? durationObj.minutes : '00'}:${(durationObj.seconds < 10)
+ ? ('0' + durationObj.seconds)
+ : (durationObj.seconds
+ ? durationObj.seconds
+ : '00')}`;
+ return duration;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9hYmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLDZEQUE4QztBQUM5QywyQ0FBbUQ7QUFDbkQsNEVBQXlDO0FBRXpDLG9FQUF1QztBQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUFPLENBQUMscUJBQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ2xELGdFQUFpQztBQUVqQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sU0FBVSxTQUFRLDZCQUFPO0lBQzVDLFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsTUFBTTtZQUNaLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUNsQixLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUNoRixlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQVk7O1lBQ2xCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsdUNBQXVDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRTVGLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQztZQUN6QixNQUFNLEtBQUssR0FB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 \ No newline at end of file
diff --git a/dist/commands/voice/itemshop.js b/dist/commands/voice/itemshop.js
new file mode 100644
index 0000000..0f12529
--- /dev/null
+++ b/dist/commands/voice/itemshop.js
@@ -0,0 +1,176 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const ytdl_core_1 = __importDefault(require("ytdl-core"));
+const discord_js_commando_1 = require("discord.js-commando");
+const discord_js_1 = require("discord.js");
+const simple_youtube_api_1 = __importDefault(require("simple-youtube-api"));
+const config_json_1 = __importDefault(require("../../config.json"));
+const youtube = new simple_youtube_api_1.default(config_json_1.default['yt-api-key']);
+const emoji_random_1 = __importDefault(require("emoji-random"));
+module.exports = class ABeeVoice extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'itemshop',
+ aliases: ['item-shop'],
+ group: 'voice',
+ memberName: 'itemshop',
+ description: 'Use code \'Frozen\' in the Fortnite item shop.',
+ guildOnly: true,
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ examples: ['uwu!itemshop', 'uwu!item-shop']
+ });
+ }
+ run(msg) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.say('Please join a channel and try again. ' + emoji_random_1.default.random());
+ const id = 'pBiI1hTwU7E';
+ const video = yield youtube.getVideoByID(id).catch(function () {
+ return msg.say('There was a problem getting the video you provided. ' + emoji_random_1.default.random());
+ });
+ msg.guild.musicData.queue.push(this.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false ||
+ typeof msg.guild.musicData.isPlaying == 'undefined') {
+ msg.guild.musicData.isPlaying = true;
+ return this.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ var that = this;
+ msg.channel
+ .awaitMessages(function (msg) {
+ return (msg.content > 0 && msg.content < 6) || msg.content === 'exit';
+ }, {
+ max: 1,
+ time: 60000,
+ errors: ['time']
+ })
+ .then(function (response) {
+ const videoIndex = parseInt(response.first().content);
+ if (response.first().content === 'exit')
+ return songEmbed.delete();
+ youtube
+ .getVideoByID(videos[videoIndex - 1].id)
+ .then(function (video) {
+ msg.guild.musicData.queue.push(that.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ that.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ return;
+ }
+ })
+ .catch(function () {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('An error has occured when trying to get the video ID from Youtube.' + emoji_random_1.default.random());
+ });
+ });
+ });
+ }
+ playSong(queue, msg) {
+ const classThis = this;
+ queue[0].voiceChannel
+ .join()
+ .then(function (connection) {
+ const dispatcher = connection
+ .play(ytdl_core_1.default(queue[0].url, {
+ quality: 'highestaudio',
+ highWaterMark: 1024 * 1024 * 10
+ }))
+ .on('start', function () {
+ msg.guild.musicData.songDispatcher = dispatcher;
+ const volume = 100 / 100;
+ msg.guild.musicData.volume = volume;
+ dispatcher.setVolume(msg.guild.musicData.volume);
+ const videoEmbed = new discord_js_1.MessageEmbed()
+ .setThumbnail(queue[0].thumbnail)
+ .setColor(0xF97DAE)
+ .addField('Now playing:', queue[0].title)
+ .addField('Duration:', queue[0].duration);
+ if (queue[1])
+ videoEmbed.addField('Next song:', queue[1].title);
+ msg.say(videoEmbed);
+ msg.guild.musicData.nowPlaying = queue[0];
+ return queue.shift();
+ })
+ .on('finish', function () {
+ if (queue.length >= 1) {
+ return classThis.playSong(queue, msg);
+ }
+ else {
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ }
+ })
+ .on('error', function (e) {
+ msg.say('Can\'t play song. ' + emoji_random_1.default.random());
+ console.error(e);
+ msg.guild.musicData.queue.length = 0;
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ });
+ function timeCheck() {
+ if (dispatcher.streamTime >= 6000) {
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ }
+ }
+ setInterval(timeCheck, 500);
+ })
+ .catch(function (e) {
+ console.error(e);
+ return msg.guild.me.voice.channel.leave();
+ });
+ }
+ constructSongObj(video, voiceChannel) {
+ let duration = this.formatDuration(video.duration);
+ if (duration == '00:00')
+ duration = 'Live Stream';
+ return {
+ url: `https://www.youtube.com/watch?v=${video.raw.id}`,
+ title: video.title,
+ duration,
+ thumbnail: video.thumbnails.high.url,
+ voiceChannel
+ };
+ }
+ formatDuration(durationObj) {
+ const duration = `${durationObj.hours ? (durationObj.hours + ':') : ''}${durationObj.minutes ? durationObj.minutes : '00'}:${(durationObj.seconds < 10)
+ ? ('0' + durationObj.seconds)
+ : (durationObj.seconds
+ ? durationObj.seconds
+ : '00')}`;
+ return duration;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXNob3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdm9pY2UvaXRlbXNob3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBNkI7QUFDN0IsNkRBQThDO0FBQzlDLDJDQUFtRDtBQUNuRCw0RUFBeUM7QUFFekMsb0VBQXVDO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksNEJBQU8sQ0FBQyxxQkFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDbEQsZ0VBQWlDO0FBRWpDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxTQUFVLFNBQVEsNkJBQU87SUFDNUMsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUN0QixLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFdBQVcsRUFBRSxnREFBZ0Q7WUFDN0QsU0FBUyxFQUFFLElBQUk7WUFDZixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxRQUFRLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDSyxHQUFHLENBQUMsR0FBWTs7WUFDbEIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZO2dCQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFFNUYsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1lBQ3pCLE1B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 \ No newline at end of file
diff --git a/dist/commands/voice/join.js b/dist/commands/voice/join.js
new file mode 100644
index 0000000..fdfcf57
--- /dev/null
+++ b/dist/commands/voice/join.js
@@ -0,0 +1,34 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class JoinVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'join',
+ group: 'voice',
+ memberName: 'join',
+ description: 'Joins your current voice channel.',
+ throttling: {
+ usages: 2,
+ duration: 5
+ },
+ guildOnly: true,
+ examples: ['uwu!join'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ if (msg.guild.musicData.isPlaying == false && msg.member.voice.channel) {
+ msg.member.voice.channel.join();
+ msg.reply('Succesfully joined voice channel. ' + emoji.random());
+ }
+ else if (msg.guild.musicData.isPlaying == false) {
+ msg.reply('I\'m already in voice channel. ' + emoji.random());
+ }
+ else if (!msg.member.voice.channel) {
+ msg.reply('Please join a channel and try again. ' + emoji.random());
+ }
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9qb2luLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxTQUFVLFNBQVEsT0FBTztJQUM1QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFdBQVcsRUFBRSxtQ0FBbUM7WUFDaEQsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxDQUFDO2FBQ2Q7WUFDRCxTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQztZQUN0QixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQUc7UUFDSCxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3BFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxHQUFHLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksS0FBSyxFQUFFO1lBQy9DLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDakU7YUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xDLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file
diff --git a/dist/commands/voice/leave.js b/dist/commands/voice/leave.js
new file mode 100644
index 0000000..ce849a4
--- /dev/null
+++ b/dist/commands/voice/leave.js
@@ -0,0 +1,33 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class LeaveVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'leave',
+ aliases: ['end', 'stop'],
+ group: 'voice',
+ memberName: 'leave',
+ description: 'Leaves voice channel and stops currently playing audio.',
+ guildOnly: true,
+ examples: ['uwu!leave', 'uwu!end', 'uwu!stop'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ if (!msg.guild.musicData.queue)
+ return msg.say('There aren\'t any songs in the current queue. ' + emoji.random());
+ msg.guild.musicData.songDispatcher.end();
+ msg.guild.musicData.queue.length = 0;
+ return;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdm9pY2UvbGVhdmUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNuRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFdEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFVBQVcsU0FBUSxPQUFPO0lBQzdDLFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsT0FBTztZQUNiLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7WUFDeEIsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQUUseURBQXlEO1lBQ3RFLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUM7WUFDOUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUNoRixlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFHO1FBQ0gsSUFBSSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTlGLElBQ0ksT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksV0FBVztZQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksSUFBSSxFQUM1QztZQUNFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLO1lBQzFCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDckMsT0FBTztJQUNYLENBQUM7Q0FDSixDQUFDIn0= \ No newline at end of file
diff --git a/dist/commands/voice/loop.js b/dist/commands/voice/loop.js
new file mode 100644
index 0000000..4df409c
--- /dev/null
+++ b/dist/commands/voice/loop.js
@@ -0,0 +1,31 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class LoopVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'loop',
+ aliases: ['repeat'],
+ group: 'voice',
+ memberName: 'loop',
+ description: 'Loops currently playing audio.',
+ guildOnly: true,
+ examples: ['uwu!loop', 'uwu!repeat'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ msg.channel.send(`${msg.guild.musicData.nowPlaying.title} added to queue. ` + emoji.random());
+ msg.guild.musicData.queue.unshift(msg.guild.musicData.nowPlaying);
+ return;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9vcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9sb29wLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxTQUFVLFNBQVEsT0FBTztJQUM1QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDbkIsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsTUFBTTtZQUNsQixXQUFXLEVBQUUsZ0NBQWdDO1lBQzdDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztZQUNwQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQUc7UUFDSCxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFOUYsSUFDSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxXQUFXO1lBQ3hELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQzVDO1lBQ0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ25GO1FBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ1osR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQzlFLENBQUM7UUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLE9BQU87SUFDWCxDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file
diff --git a/dist/commands/voice/minecraft.js b/dist/commands/voice/minecraft.js
new file mode 100644
index 0000000..3c71506
--- /dev/null
+++ b/dist/commands/voice/minecraft.js
@@ -0,0 +1,177 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const ytdl_core_1 = __importDefault(require("ytdl-core"));
+const discord_js_commando_1 = require("discord.js-commando");
+const discord_js_1 = require("discord.js");
+const simple_youtube_api_1 = __importDefault(require("simple-youtube-api"));
+const config_json_1 = __importDefault(require("../../config.json"));
+const youtube = new simple_youtube_api_1.default(config_json_1.default['yt-api-key']);
+const emoji_random_1 = __importDefault(require("emoji-random"));
+module.exports = class MinecraftVoice extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'minecraft',
+ aliases: ['minecraftsountrack', 'minecraft-soundtrack', 'mcs', 'mc-s'],
+ group: 'voice',
+ memberName: 'minecraft',
+ description: 'Plays the Minecraft soundtrack.',
+ guildOnly: true,
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ examples: [
+ 'uwu!minecraft',
+ 'uwu!minecraftsountrack',
+ 'uwu!minecraft-soundtrack',
+ 'uwu!mcs',
+ 'uwu!mc-s'
+ ]
+ });
+ }
+ run(msg) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.say('Join a channel and try again. ' + emoji_random_1.default.random());
+ const playlist = yield youtube.getPlaylist('https://www.youtube.com/watch?v=05UM-i4PuOY&list=PLxOTV5xn7n1i2HcKtRBthP2loWjrBGAIY').catch(function () {
+ return msg.say('There was a problem getting the soundtrack. ' + emoji_random_1.default.random());
+ });
+ const videosObj = yield playlist.getVideos(24).catch(function () {
+ return msg.say('There was a problem getting the soundtrack. ' + emoji_random_1.default.random());
+ });
+ for (let i = 0; i < videosObj.length; i++) {
+ const video = yield videosObj[i].fetch();
+ msg.guild.musicData.queue.push(this.constructSongObj(video, voiceChannel));
+ }
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ return this.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ return msg.say('Now playing the Minecraft soundtrack. ' + emoji_random_1.default.random());
+ }
+ var that = this;
+ msg.channel
+ .awaitMessages(function (msg) {
+ return (msg.content > 0 && msg.content < 6) || msg.content === 'exit';
+ }, {
+ max: 1,
+ time: 60000,
+ errors: ['time']
+ })
+ .then(function (response) {
+ const videoIndex = parseInt(response.first().content);
+ if (response.first().content === 'exit')
+ return songEmbed.delete();
+ youtube
+ .getVideoByID(videos[videoIndex - 1].id)
+ .then(function (video) {
+ msg.guild.musicData.queue.push(that.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ that.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('Now playing the Minecraft soundtrack. ' + emoji_random_1.default.random());
+ }
+ })
+ .catch(function () {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('An error has occured when trying to get the video ID from YouTube. ' + emoji_random_1.default.random());
+ });
+ });
+ });
+ }
+ playSong(queue, msg) {
+ const classThis = this;
+ queue[0].voiceChannel
+ .join()
+ .then(function (connection) {
+ const dispatcher = connection
+ .play(ytdl_core_1.default(queue[0].url, {
+ quality: 'highestaudio',
+ highWaterMark: 1024 * 1024 * 10
+ }))
+ .on('start', function () {
+ msg.guild.musicData.songDispatcher = dispatcher;
+ const volume = 100 / 100;
+ msg.guild.musicData.volume = volume;
+ dispatcher.setVolume(msg.guild.musicData.volume);
+ const videoEmbed = new discord_js_1.MessageEmbed()
+ .setThumbnail(queue[0].thumbnail)
+ .setColor(0xFFCC4D)
+ .addField('Now Playing:', queue[0].title)
+ .addField('Duration:', queue[0].duration);
+ if (queue[1])
+ videoEmbed.addField('Next Song:', queue[1].title);
+ msg.say(videoEmbed);
+ msg.guild.musicData.nowPlaying = queue[0];
+ return queue.shift();
+ })
+ .on('finish', function () {
+ if (queue.length >= 1) {
+ return classThis.playSong(queue, msg);
+ }
+ else {
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ }
+ })
+ .on('error', function (e) {
+ msg.say('Can\'t play soundtrack. ' + emoji_random_1.default.random());
+ console.error(e);
+ msg.guild.musicData.queue.length = 0;
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ });
+ })
+ .catch(function (e) {
+ console.error(e);
+ return msg.guild.me.voice.channel.leave();
+ });
+ }
+ constructSongObj(video, voiceChannel) {
+ let duration = this.formatDuration(video.duration);
+ if (duration == '00:00')
+ duration = 'Live Stream';
+ return {
+ url: `https://www.youtube.com/watch?v=${video.raw.id}`,
+ title: video.title,
+ duration,
+ thumbnail: video.thumbnails.high.url,
+ voiceChannel
+ };
+ }
+ formatDuration(durationObj) {
+ const duration = `${durationObj.hours ? (durationObj.hours + ':') : ''}${durationObj.minutes ? durationObj.minutes : '00'}:${(durationObj.seconds < 10)
+ ? ('0' + durationObj.seconds)
+ : (durationObj.seconds
+ ? durationObj.seconds
+ : '00')}`;
+ return duration;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluZWNyYWZ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZvaWNlL21pbmVjcmFmdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE2QjtBQUM3Qiw2REFBOEM7QUFDOUMsMkNBQTBDO0FBQzFDLDRFQUF5QztBQUV6QyxvRUFBdUM7QUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBTyxDQUFDLHFCQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUNsRCxnRUFBaUM7QUFFakMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLGNBQWUsU0FBUSw2QkFBTztJQUNqRCxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUN0RSxLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsU0FBUyxFQUFFLElBQUk7WUFDZixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxRQUFRLEVBQUU7Z0JBQ04sZUFBZTtnQkFDZix3QkFBd0I7Z0JBQ3hCLDBCQUEwQjtnQkFDMUIsU0FBUztnQkFDVCxVQUFVO2FBQ2I7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQUc7O1lBQ1QsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZO2dCQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0Ms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 \ No newline at end of file
diff --git a/dist/commands/voice/pause.js b/dist/commands/voice/pause.js
new file mode 100644
index 0000000..fd1cb47
--- /dev/null
+++ b/dist/commands/voice/pause.js
@@ -0,0 +1,29 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class PauseVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'pause',
+ group: 'voice',
+ memberName: 'pause',
+ description: 'Pauses audio of previously playing.',
+ guildOnly: true,
+ examples: ['uwu!pause'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ msg.say('Song paused :pause_button:');
+ msg.guild.musicData.songDispatcher.pause();
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF1c2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdm9pY2UvcGF1c2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNuRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFdEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFVBQVcsU0FBUSxPQUFPO0lBQzdDLFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLHFDQUFxQztZQUNsRCxTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUN2QixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQUc7UUFDSCxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFOUYsSUFDSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxXQUFXO1lBQ3hELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQzVDO1lBQ0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRXRDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file
diff --git a/dist/commands/voice/play.js b/dist/commands/voice/play.js
new file mode 100644
index 0000000..29595d2
--- /dev/null
+++ b/dist/commands/voice/play.js
@@ -0,0 +1,232 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const ytdl_core_1 = __importDefault(require("ytdl-core"));
+const discord_js_commando_1 = require("discord.js-commando");
+const discord_js_1 = require("discord.js");
+const simple_youtube_api_1 = __importDefault(require("simple-youtube-api"));
+const config_json_1 = __importDefault(require("../../config.json"));
+const youtube = new simple_youtube_api_1.default(config_json_1.default['yt-api-key']);
+const emoji_random_1 = __importDefault(require("emoji-random"));
+module.exports = class PlayVoice extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'play',
+ group: 'voice',
+ memberName: 'play',
+ description: 'Play the audio of a YouTube video in a voice channel.',
+ guildOnly: true,
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ args: [
+ {
+ key: 'query',
+ prompt: 'What song would you like to hear?',
+ type: 'string',
+ validate: function (query) {
+ return query.length > 0 && query.length < 200;
+ }
+ }
+ ],
+ examples: [
+ 'uwu!play https://www.youtube.com/watch?v=dQw4w9WgXcQ',
+ 'uwu!play despacito'
+ ]
+ });
+ }
+ run(msg, { query }) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.say('Please join a channel and try again. ' + emoji_random_1.default.random());
+ if (query.match(/^(?!.*\?.*\bv=)https:\/\/www\.youtube\.com\/.*\?.*\blist=.*$/)) {
+ const playlist = yield youtube.getPlaylist(query).catch(function () {
+ return msg.say('Playlist is either private or it does not exist. ' + emoji_random_1.default.random());
+ });
+ const videosObj = yield playlist.getVideos(10).catch(function () {
+ return msg.say('There was a problem getting one or more of the videos in the playlist. ' + emoji_random_1.default.random());
+ });
+ for (let i = 0; i < videosObj.length; i++) {
+ const video = yield videosObj[i].fetch();
+ msg.guild.musicData.queue.push(this.constructSongObj(video, voiceChannel));
+ }
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ return this.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ return msg.say(`Playlist - :musical_note: ${playlist.title} :musical_note: has been added to queue. ` + emoji_random_1.default.random());
+ }
+ }
+ if (query.match(/^(http(s)?:\/\/)?((w){3}.)?youtu(be|.be)?(\.com)?\/.+/)) {
+ query = query
+ .replace(/(>|<)/gi, '')
+ .split(/(vi\/|v=|\/v\/|youtu\.be\/|\/embed\/)/);
+ const id = query[2].split(/[^0-9a-z_\-]/i)[0];
+ const video = yield youtube.getVideoByID(id).catch(function () {
+ return msg.say('There was a problem getting the video you provided. ' + emoji_random_1.default.random());
+ });
+ msg.guild.musicData.queue.push(this.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false ||
+ typeof msg.guild.musicData.isPlaying == 'undefined') {
+ msg.guild.musicData.isPlaying = true;
+ return this.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ }
+ const videos = yield youtube.searchVideos(query, 5).catch(function () {
+ return msg.say('There was a problem searching the video you requested. ' + emoji_random_1.default.random());
+ });
+ if (videos.length < 5) {
+ return msg.say(`There was some trouble finding what you were looking for, please try again or be more specific. ` + emoji_random_1.default.random());
+ }
+ const vidNameArr = [];
+ for (let i = 0; i < videos.length; i++) {
+ vidNameArr.push(`${i + 1}: ${videos[i].title}`);
+ }
+ vidNameArr.push('exit');
+ const embed = new discord_js_1.MessageEmbed()
+ .setColor(0xFFCC4D)
+ .setTitle('Please choose a song (1 to 5) ' + emoji_random_1.default.random())
+ .addField(`‎`, '**Song #**' + vidNameArr[0])
+ .addField(`‎`, '**Song #**' + vidNameArr[1])
+ .addField(`‎`, '**Song #**' + vidNameArr[2])
+ .addField(`‎`, '**Song #**' + vidNameArr[3])
+ .addField(`‎`, '**Song #**' + vidNameArr[4])
+ .addField(`‎`, '**Exit selection**: ' + 'exit');
+ var songEmbed = yield msg.channel.send({
+ embed
+ });
+ var that = this;
+ msg.channel
+ .awaitMessages(function (msg) {
+ return (msg.content > 0 && msg.content < 6) || msg.content === 'exit';
+ }, {
+ max: 1,
+ time: 60000,
+ errors: ['time']
+ })
+ .then(function (response) {
+ const videoIndex = parseInt(response.first().content);
+ if (response.first().content === 'exit')
+ return songEmbed.delete();
+ youtube
+ .getVideoByID(videos[videoIndex - 1].id)
+ .then(function (video) {
+ msg.guild.musicData.queue.push(that.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ that.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ })
+ .catch(function () {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('An error has occured when trying to get the video ID from YouTube. ' + emoji_random_1.default.random());
+ });
+ })
+ .catch(function () {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('Try again and enter a number between 1 and 5 or exit. ' + emoji_random_1.default.random());
+ });
+ });
+ }
+ playSong(queue, msg) {
+ const classThis = this;
+ queue[0].voiceChannel
+ .join()
+ .then(function (connection) {
+ const dispatcher = connection
+ .play(ytdl_core_1.default(queue[0].url, {
+ quality: 'highestaudio',
+ highWaterMark: 1024 * 1024 * 10
+ }))
+ .on('start', function () {
+ msg.guild.musicData.songDispatcher = dispatcher;
+ const volume = 100 / 100;
+ msg.guild.musicData.volume = volume;
+ dispatcher.setVolume(msg.guild.musicData.volume);
+ const videoEmbed = new discord_js_1.MessageEmbed()
+ .setThumbnail(queue[0].thumbnail)
+ .setColor(0xFFCC4D)
+ .addField('Now playing:', queue[0].title)
+ .addField('Duration:', queue[0].duration);
+ if (queue[1])
+ videoEmbed.addField('Next song:', queue[1].title);
+ msg.say(videoEmbed);
+ msg.guild.musicData.nowPlaying = queue[0];
+ return queue.shift();
+ })
+ .on('finish', function () {
+ if (queue.length >= 1) {
+ return classThis.playSong(queue, msg);
+ }
+ else {
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ }
+ })
+ .on('error', function (e) {
+ msg.say('Can\'t play song. ' + emoji_random_1.default.random());
+ console.error(e);
+ msg.guild.musicData.queue.length = 0;
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ });
+ })
+ .catch(function (e) {
+ console.error(e);
+ return msg.guild.me.voice.channel.leave();
+ });
+ }
+ constructSongObj(video, voiceChannel) {
+ let duration = this.formatDuration(video.duration);
+ if (duration == '00:00')
+ duration = 'Live Stream';
+ return {
+ url: `https://www.youtube.com/watch?v=${video.raw.id}`,
+ title: video.title,
+ duration,
+ thumbnail: video.thumbnails.high.url,
+ voiceChannel
+ };
+ }
+ formatDuration(durationObj) {
+ const duration = `${durationObj.hours ? (durationObj.hours + ':') : ''}${durationObj.minutes ? durationObj.minutes : '00'}:${(durationObj.seconds < 10)
+ ? ('0' + durationObj.seconds)
+ : (durationObj.seconds
+ ? durationObj.seconds
+ : '00')}`;
+ return duration;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9wbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLDZEQUE4QztBQUM5QywyQ0FBbUQ7QUFDbkQsNEVBQXlDO0FBRXpDLG9FQUF1QztBQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUFPLENBQUMscUJBQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ2xELGdFQUFpQztBQUVqQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sU0FBVSxTQUFRLDZCQUFPO0lBQzVDLFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLE1BQU07WUFDbEIsV0FBVyxFQUFFLHVEQUF1RDtZQUNwRSxTQUFTLEVBQUUsSUFBSTtZQUNmLGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDaEYsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzFELElBQUksRUFBRTtnQkFDRjtvQkFDSSxHQUFHLEVBQUUsT0FBTztvQkFDWixNQUFNLEVBQUUsbUNBQW1DO29CQUMzQyxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsVUFBVSxLQUFLO3dCQUNyQixPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO29CQUNsRCxDQUFDO2lCQUNKO2FBQ0o7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sc0RBQXNEO2dCQUN0RCxvQkFBb0I7YUFDdkI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFLEtBQUssRUFBRTs7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 \ No newline at end of file
diff --git a/dist/commands/voice/psycho.js b/dist/commands/voice/psycho.js
new file mode 100644
index 0000000..46fd4d9
--- /dev/null
+++ b/dist/commands/voice/psycho.js
@@ -0,0 +1,166 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const ytdl_core_1 = __importDefault(require("ytdl-core"));
+const discord_js_commando_1 = require("discord.js-commando");
+const discord_js_1 = require("discord.js");
+const simple_youtube_api_1 = __importDefault(require("simple-youtube-api"));
+const config_json_1 = __importDefault(require("../../config.json"));
+const youtube = new simple_youtube_api_1.default(config_json_1.default['yt-api-key']);
+const emoji_random_1 = __importDefault(require("emoji-random"));
+module.exports = class PsychoVoice extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'psycho',
+ group: 'voice',
+ memberName: 'psycho',
+ description: 'Plays Psycho by Mase.',
+ guildOnly: true,
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ examples: ['uwu!psycho']
+ });
+ }
+ run(msg, { query }) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.say('Please join a channel and try again. ' + emoji_random_1.default.random());
+ const id = 'fnd_HSmAODs';
+ const video = yield youtube.getVideoByID(id).catch(function () {
+ return msg.say('There was a problem getting the video you provided. ' + emoji_random_1.default.random());
+ });
+ msg.guild.musicData.queue.push(this.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false ||
+ typeof msg.guild.musicData.isPlaying == 'undefined') {
+ msg.guild.musicData.isPlaying = true;
+ return this.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ var that = this;
+ msg.channel
+ .awaitMessages(function (msg) {
+ return (msg.content > 0 && msg.content < 6) || msg.content === 'exit';
+ }, {
+ max: 1,
+ time: 60000,
+ errors: ['time']
+ })
+ .then(function (response) {
+ const videoIndex = parseInt(response.first().content);
+ if (response.first().content === 'exit')
+ return songEmbed.delete();
+ youtube
+ .getVideoByID(videos[videoIndex - 1].id)
+ .then(function (video) {
+ msg.guild.musicData.queue.push(that.constructSongObj(video, voiceChannel));
+ if (msg.guild.musicData.isPlaying == false) {
+ msg.guild.musicData.isPlaying = true;
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ that.playSong(msg.guild.musicData.queue, msg);
+ }
+ else if (msg.guild.musicData.isPlaying == true) {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say(`${video.title} added to queue. ` + emoji_random_1.default.random());
+ }
+ })
+ .catch(function () {
+ if (songEmbed) {
+ songEmbed.delete();
+ }
+ return msg.say('An error has occured when trying to get the video ID from YouTube. ' + emoji_random_1.default.random());
+ });
+ });
+ });
+ }
+ playSong(queue, msg) {
+ const classThis = this;
+ queue[0].voiceChannel
+ .join()
+ .then(function (connection) {
+ const dispatcher = connection
+ .play(ytdl_core_1.default(queue[0].url, {
+ quality: 'highestaudio',
+ highWaterMark: 1024 * 1024 * 10
+ }))
+ .on('start', function () {
+ msg.guild.musicData.songDispatcher = dispatcher;
+ const volume = 100 / 100;
+ msg.guild.musicData.volume = volume;
+ dispatcher.setVolume(msg.guild.musicData.volume);
+ const videoEmbed = new discord_js_1.MessageEmbed()
+ .setThumbnail(queue[0].thumbnail)
+ .setColor(0xFFCC4D)
+ .addField('Now playing:', queue[0].title)
+ .addField('Duration:', queue[0].duration);
+ if (queue[1])
+ videoEmbed.addField('Next song:', queue[1].title);
+ msg.say(videoEmbed);
+ msg.guild.musicData.nowPlaying = queue[0];
+ return queue.shift();
+ })
+ .on('finish', function () {
+ if (queue.length >= 1) {
+ return classThis.playSong(queue, msg);
+ }
+ else {
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ }
+ })
+ .on('error', function (e) {
+ msg.say('Can\'t play song ' + emoji_random_1.default.random());
+ console.error(e);
+ msg.guild.musicData.queue.length = 0;
+ msg.guild.musicData.isPlaying = false;
+ msg.guild.musicData.nowPlaying = null;
+ msg.guild.musicData.songDispatcher = null;
+ return msg.guild.me.voice.channel.leave();
+ });
+ })
+ .catch(function (e) {
+ console.error(e);
+ return msg.guild.me.voice.channel.leave();
+ });
+ }
+ constructSongObj(video, voiceChannel) {
+ let duration = this.formatDuration(video.duration);
+ if (duration == '00:00')
+ duration = 'Live Stream';
+ return {
+ url: `https://www.youtube.com/watch?v=${video.raw.id}`,
+ title: video.title,
+ duration,
+ thumbnail: video.thumbnails.high.url,
+ voiceChannel
+ };
+ }
+ formatDuration(durationObj) {
+ const duration = `${durationObj.hours ? (durationObj.hours + ':') : ''}${durationObj.minutes ? durationObj.minutes : '00'}:${(durationObj.seconds < 10)
+ ? ('0' + durationObj.seconds)
+ : (durationObj.seconds
+ ? durationObj.seconds
+ : '00')}`;
+ return duration;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHN5Y2hvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZvaWNlL3BzeWNoby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE2QjtBQUM3Qiw2REFBOEM7QUFDOUMsMkNBQW1EO0FBQ25ELDRFQUF5QztBQUV6QyxvRUFBdUM7QUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBTyxDQUFDLHFCQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUNsRCxnRUFBaUM7QUFFakMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFdBQVksU0FBUSw2QkFBTztJQUM5QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7WUFDcEMsU0FBUyxFQUFFLElBQUk7WUFDZixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNLLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUU7O1lBQzdCLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsdUNBQXVDLEdBQUcsc0JBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRTVGLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQztZQUN6QixNQUFNLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FB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 \ No newline at end of file
diff --git a/dist/commands/voice/queue.js b/dist/commands/voice/queue.js
new file mode 100644
index 0000000..1228a53
--- /dev/null
+++ b/dist/commands/voice/queue.js
@@ -0,0 +1,52 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const { MessageEmbed } = require('discord.js');
+const emoji = require('emoji-random');
+module.exports = class QueueVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'queue',
+ aliases: [
+ 'q',
+ 'song-list',
+ 'next-songs',
+ 'songlist',
+ 'nextsongs',
+ 'nextsong',
+ 'next-song'
+ ],
+ group: 'voice',
+ memberName: 'queue',
+ description: 'Displays the current queue.',
+ guildOnly: true,
+ examples: [
+ 'uwu!queue',
+ 'uwu!q',
+ 'uwu!songlist',
+ 'uwu!song-list',
+ 'uwu!nextsong',
+ 'uwu!next-song',
+ 'uwu!nextsongs',
+ 'uwu!next-songs'
+ ],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ if (msg.guild.musicData.queue.length == 0)
+ return msg.say('There aren\'t any songs in the current queue. ' + emoji.random());
+ const titleArray = [];
+ msg.guild.musicData.queue.map(obj => {
+ titleArray.push(obj.title);
+ });
+ let queueEmbed = new MessageEmbed()
+ .setColor(0xFFCC4D)
+ .setTitle('Music Queue ' + emoji.random());
+ for (let i = 0; i < titleArray.length; i++) {
+ queueEmbed.addField(`‎`, `**${i + 1}**: ` + `${titleArray[i]}`);
+ }
+ return msg.say(queueEmbed);
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdm9pY2UvcXVldWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUNuRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQy9DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sVUFBVyxTQUFRLE9BQU87SUFDN0MsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFO2dCQUNMLEdBQUc7Z0JBQ0gsV0FBVztnQkFDWCxZQUFZO2dCQUNaLFVBQVU7Z0JBQ1YsV0FBVztnQkFDWCxVQUFVO2dCQUNWLFdBQVc7YUFDZDtZQUNELEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLDZCQUE2QjtZQUMxQyxTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRTtnQkFDTixXQUFXO2dCQUNYLE9BQU87Z0JBQ1AsY0FBYztnQkFDZCxlQUFlO2dCQUNmLGNBQWM7Z0JBQ2QsZUFBZTtnQkFDZixlQUFlO2dCQUNmLGdCQUFnQjthQUNuQjtZQUNELGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDaEYsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRztRQUNILElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFO2FBQzlCLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDbEIsUUFBUSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkU7UUFDRCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKLENBQUMifQ== \ No newline at end of file
diff --git a/dist/commands/voice/remove.js b/dist/commands/voice/remove.js
new file mode 100644
index 0000000..b73d1ed
--- /dev/null
+++ b/dist/commands/voice/remove.js
@@ -0,0 +1,39 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class RemoveVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'remove',
+ group: 'voice',
+ memberName: 'remove',
+ description: 'Removes a song from the current queue.',
+ guildOnly: true,
+ args: [
+ {
+ key: 'songNumber',
+ prompt: 'What song would you like to remove from the current queue?',
+ type: 'integer'
+ }
+ ],
+ examples: ['uwu!remove 2'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg, { songNumber }) {
+ if (songNumber < 1 && songNumber >= msg.guild.musicData.queue.length) {
+ return msg.reply('Please enter a valid song. ' + emoji.random());
+ }
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ msg.guild.musicData.queue.splice(songNumber - 1, 1);
+ return msg.say(`Removed song **#${songNumber}** from current queue. ` + emoji.random());
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZvaWNlL3JlbW92ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sV0FBWSxTQUFRLE9BQU87SUFDOUMsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsUUFBUTtZQUNwQixXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFO2dCQUNGO29CQUNJLEdBQUcsRUFBRSxZQUFZO29CQUNqQixNQUFNLEVBQUUsNERBQTREO29CQUNwRSxJQUFJLEVBQUUsU0FBUztpQkFDbEI7YUFDSjtZQUNELFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztZQUMxQixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRTtRQUNuQixJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksVUFBVSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbEUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTlGLElBQ0ksT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksV0FBVztZQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksSUFBSSxFQUM1QztZQUNFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNuRjtRQUVELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLFVBQVUseUJBQXlCLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztDQUNKLENBQUMifQ== \ No newline at end of file
diff --git a/dist/commands/voice/resume.js b/dist/commands/voice/resume.js
new file mode 100644
index 0000000..d2f68c0
--- /dev/null
+++ b/dist/commands/voice/resume.js
@@ -0,0 +1,29 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class ResumeVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'resume',
+ group: 'voice',
+ memberName: 'resume',
+ description: 'Resumes audio of previously paused.',
+ guildOnly: true,
+ examples: ['uwu!resume'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ') + emoji.random();
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ msg.say('Song resumed :play_pause:');
+ msg.guild.musicData.songDispatcher.resume();
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZvaWNlL3Jlc3VtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sV0FBWSxTQUFRLE9BQU87SUFDOUMsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsUUFBUTtZQUNwQixXQUFXLEVBQUUscUNBQXFDO1lBQ2xELFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQ3hCLGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDaEYsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRztRQUNILElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU5RixJQUNJLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLFdBQVc7WUFDeEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLElBQUksRUFDNUM7WUFDRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbkY7UUFFRCxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFckMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hELENBQUM7Q0FDSixDQUFDIn0= \ No newline at end of file
diff --git a/dist/commands/voice/shuffle.js b/dist/commands/voice/shuffle.js
new file mode 100644
index 0000000..b3e33a7
--- /dev/null
+++ b/dist/commands/voice/shuffle.js
@@ -0,0 +1,48 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const { MessageEmbed } = require('discord.js');
+const emoji = require('emoji-random');
+module.exports = class ShuffleVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'shuffle',
+ group: 'voice',
+ memberName: 'shuffle',
+ description: 'Shuffles the current queue.',
+ guildOnly: true,
+ examples: ['uwu!shuffle'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ if (msg.guild.musicData.queue.length < 1)
+ return msg.say('There aren\'t any songs in the current queue. ' + emoji.random());
+ shuffleQueue(msg.guild.musicData.queue);
+ const titleArray = [];
+ msg.guild.musicData.queue.map(obj => {
+ titleArray.push(obj.title);
+ });
+ var queueEmbed = new MessageEmbed()
+ .setColor(0xF97DAE)
+ .setTitle('New Music Queue ' + emoji.random());
+ for (let i = 0; i < titleArray.length; i++) {
+ queueEmbed.addField(`${i + 1}:`, `${titleArray[i]}`);
+ }
+ return msg.say(queueEmbed);
+ }
+};
+function shuffleQueue(queue) {
+ for (let i = queue.length - 1; i > 0; i--) {
+ const j = Math.floor(Math.random() * (i + 1));
+ [queue[i], queue[j]] = [queue[j], queue[i]];
+ }
+}
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2h1ZmZsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9zaHVmZmxlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFdEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFlBQWEsU0FBUSxPQUFPO0lBQy9DLFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLDZCQUE2QjtZQUMxQyxTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN6QixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQ2hGLGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztTQUM3RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQUc7UUFDSCxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMscUNBQXFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUYsSUFDSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxXQUFXO1lBQ3hELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQzVDO1lBQ0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDcEMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXRGLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFO2FBQzlCLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDbEIsUUFBUSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSixDQUFDO0FBRUYsU0FBUyxZQUFZLENBQUMsS0FBSztJQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDdkMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMvQztBQUNMLENBQUMifQ== \ No newline at end of file
diff --git a/dist/commands/voice/skip.js b/dist/commands/voice/skip.js
new file mode 100644
index 0000000..199319a
--- /dev/null
+++ b/dist/commands/voice/skip.js
@@ -0,0 +1,28 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class SkipVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'skip',
+ group: 'voice',
+ memberName: 'skip',
+ description: 'Skips one song ahead in the current queue.',
+ guildOnly: true,
+ examples: ['uwu!skip'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ const voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ msg.guild.musicData.songDispatcher.end();
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9za2lwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxTQUFVLFNBQVEsT0FBTztJQUM1QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFdBQVcsRUFBRSw0Q0FBNEM7WUFDekQsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUM7WUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUNoRixlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFHO1FBQ0gsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTlGLElBQ0ksT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksV0FBVztZQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLElBQUksSUFBSSxFQUM1QztZQUNFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNuRjtRQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file
diff --git a/dist/commands/voice/skipall.js b/dist/commands/voice/skipall.js
new file mode 100644
index 0000000..bc32b0e
--- /dev/null
+++ b/dist/commands/voice/skipall.js
@@ -0,0 +1,43 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class SkipAllVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'skipall',
+ aliases: [
+ 'endqueue',
+ 'endq',
+ 'skipqueue',
+ 'skipq'
+ ],
+ group: 'voice',
+ memberName: 'skipall',
+ description: 'Removes all the songs from current queue.',
+ guildOnly: true,
+ examples: [
+ 'uwu!endqueue',
+ 'uwu!endq',
+ 'uwu!skipqueue',
+ 'uwu!skipq'
+ ],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ if (!msg.guild.musicData.queue)
+ return msg.say('There aren\'t any songs in the current queue. ' + emoji.random());
+ msg.guild.musicData.songDispatcher.end();
+ msg.guild.musicData.queue.length = 0;
+ return;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9za2lwYWxsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxZQUFhLFNBQVEsT0FBTztJQUMvQyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUU7Z0JBQ0wsVUFBVTtnQkFDVixNQUFNO2dCQUNOLFdBQVc7Z0JBQ1gsT0FBTzthQUNWO1lBQ0QsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQUUsMkNBQTJDO1lBQ3hELFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFO2dCQUNOLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixlQUFlO2dCQUNmLFdBQVc7YUFDZDtZQUNELGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDaEYsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRztRQUNILElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUU5RixJQUNJLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLFdBQVc7WUFDeEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLElBQUksRUFDNUM7WUFDRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbkY7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSztZQUMxQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEYsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE9BQU87SUFDWCxDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file
diff --git a/dist/commands/voice/skipto.js b/dist/commands/voice/skipto.js
new file mode 100644
index 0000000..b304c54
--- /dev/null
+++ b/dist/commands/voice/skipto.js
@@ -0,0 +1,40 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class SkipToVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'skipto',
+ group: 'voice',
+ memberName: 'skipto',
+ description: 'Skip to a certain song in the current queue.',
+ guildOnly: true,
+ args: [{
+ key: 'songNumber',
+ prompt: 'What song would you like to skip to in the current queue?',
+ type: 'integer'
+ }],
+ examples: ['uwu!skipto 5'],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg, { songNumber }) {
+ if (songNumber < 1 && songNumber >= msg.guild.musicData.queue.length) {
+ return msg.reply('Please enter a valid song. ' + emoji.random());
+ }
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ if (msg.guild.musicData.queue < 1)
+ return msg.reply('There aren\'t any songs in the current queue. ' + emoji.random());
+ msg.guild.musicData.queue.splice(0, songNumber - 1);
+ msg.guild.musicData.songDispatcher.end();
+ return;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZvaWNlL3NraXB0by5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sV0FBWSxTQUFRLE9BQU87SUFDOUMsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsUUFBUTtZQUNwQixXQUFXLEVBQUUsOENBQThDO1lBQzNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsSUFBSSxFQUFFLENBQUM7b0JBQ0gsR0FBRyxFQUFFLFlBQVk7b0JBQ2pCLE1BQU0sRUFBRSwyREFBMkQ7b0JBQ25FLElBQUksRUFBRSxTQUFTO2lCQUNsQixDQUFDO1lBQ0YsUUFBUSxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQzFCLGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDaEYsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFO1FBQ25CLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNsRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMscUNBQXFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUYsSUFDSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxXQUFXO1lBQ3hELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQzVDO1lBQ0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ25GO1FBRUQsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztZQUM3QixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0RBQWdELEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFeEYsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6QyxPQUFPO0lBQ1gsQ0FBQztDQUNKLENBQUMifQ== \ No newline at end of file
diff --git a/dist/commands/voice/volume.js b/dist/commands/voice/volume.js
new file mode 100644
index 0000000..60219e9
--- /dev/null
+++ b/dist/commands/voice/volume.js
@@ -0,0 +1,43 @@
+"use strict";
+const { Command } = require('discord.js-commando');
+const emoji = require('emoji-random');
+module.exports = class VolumeVoice extends Command {
+ constructor(client) {
+ super(client, {
+ name: 'volume',
+ aliases: ['vol'],
+ group: 'voice',
+ memberName: 'volume',
+ description: 'Changes volume of any currentaly playing audio.',
+ guildOnly: true,
+ args: [
+ {
+ key: 'wantedVol',
+ prompt: 'What would volume you like? (1 to 200)',
+ type: 'integer',
+ validate: wantedVol => wantedVol >= 1 && wantedVol <= 200
+ }
+ ],
+ examples: [
+ 'uwu!volume 20',
+ 'uwu!vol 50'
+ ],
+ clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ });
+ }
+ run(msg, { wantedVol }) {
+ var voiceChannel = msg.member.voice.channel;
+ if (!voiceChannel)
+ return msg.reply('Please join a channel and try again. ' + emoji.random());
+ if (typeof msg.guild.musicData.songDispatcher == 'undefined' ||
+ msg.guild.musicData.songDispatcher == null) {
+ return msg.reply('There isn\'t any audio playing right now. ' + emoji.random());
+ }
+ const volume = wantedVol / 100;
+ msg.guild.musicData.volume = volume;
+ msg.guild.musicData.songDispatcher.setVolume(volume);
+ msg.reply(`Volume is now: **${wantedVol}%**. ` + emoji.random());
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sdW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZvaWNlL3ZvbHVtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sV0FBWSxTQUFRLE9BQU87SUFDOUMsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFFBQVE7WUFDcEIsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRTtnQkFDRjtvQkFDSSxHQUFHLEVBQUUsV0FBVztvQkFDaEIsTUFBTSxFQUFFLHdDQUF3QztvQkFDaEQsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxTQUFTLElBQUksR0FBRztpQkFDNUQ7YUFDSjtZQUNELFFBQVEsRUFBRTtnQkFDTixlQUFlO2dCQUNmLFlBQVk7YUFDZjtZQUNELGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDaEYsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1NBQzdELENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFO1FBQ2xCLElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUU5RixJQUNJLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLFdBQVc7WUFDeEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxJQUFJLElBQUksRUFDNUM7WUFDRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbkY7UUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDcEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxHQUFHLENBQUMsS0FBSyxDQUFDLG9CQUFvQixTQUFTLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file