summaryrefslogtreecommitdiff
path: root/dist/commands/voice/shuffle.js
blob: 1025b4ad7f530fc45e5c1b82d8d1d6b25002df02 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const discord_js_commando_1 = require("discord.js-commando");
const discord_js_1 = require("discord.js");
const emoji_random_1 = __importDefault(require("emoji-random"));
module.exports = class ShuffleVoice extends discord_js_commando_1.Command {
    constructor(client) {
        super(client, {
            name: 'shuffle',
            group: 'voice',
            memberName: 'shuffle',
            description: 'Shuffles the current track queue.',
            guildOnly: true,
            examples: ['uwu!shuffle'],
            clientPermissions: ['SPEAK', 'CONNECT', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            throttling: {
                usages: 5,
                duration: 30
            },
        });
    }
    run(msg) {
        var voiceChannel = msg.member.voice.channel;
        if (!voiceChannel)
            return msg.reply('Please join channel and try again. ' + emoji_random_1.default.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_1.default.random());
        }
        if (msg.guild.musicData.queue.length < 1)
            return msg.say('There aren\'t any songs in the current queue. ' + emoji_random_1.default.random());
        shuffleQueue(msg.guild.musicData.queue);
        const titleArray = [];
        msg.guild.musicData.queue.map(obj => {
            titleArray.push(obj.title);
        });
        var queueEmbed = new discord_js_1.MessageEmbed()
            .setColor(0xF97DAE)
            .setTitle('New Music Queue ' + emoji_random_1.default.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2h1ZmZsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92b2ljZS9zaHVmZmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkRBQStEO0FBQy9ELDJDQUEwQztBQUMxQyxnRUFBaUM7QUFFakMsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLFlBQWEsU0FBUSw2QkFBTztJQUMvQyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsT0FBTztZQUNkLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSxtQ0FBbUM7WUFDaEQsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDekIsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUNoRixlQUFlLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUFDMUQsVUFBVSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2Y7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQW9CO1FBQ3BCLElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUYsSUFDSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxXQUFXO1lBQ3hELEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQzVDO1lBQ0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxHQUFHLHNCQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNuRjtRQUVELElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3BDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsR0FBRyxzQkFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFdEYsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxVQUFVLEdBQUcsSUFBSSx5QkFBWSxFQUFFO2FBQzlCLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDbEIsUUFBUSxDQUFDLGtCQUFrQixHQUFHLHNCQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4RDtRQUNELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0osQ0FBQztBQUVGLFNBQVMsWUFBWSxDQUFDLEtBQUs7SUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDL0M7QUFDTCxDQUFDIn0=