summaryrefslogtreecommitdiff
path: root/dist/commands/fun/drawcards.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/commands/fun/drawcards.js')
-rw-r--r--dist/commands/fun/drawcards.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/dist/commands/fun/drawcards.js b/dist/commands/fun/drawcards.js
new file mode 100644
index 0000000..b1e8f93
--- /dev/null
+++ b/dist/commands/fun/drawcards.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const discord_js_commando_1 = require("discord.js-commando");
+const Util_js_1 = require("../../utils/Util.js");
+const suits = ['♣', '♥', '♦', '♠'];
+const faces = ['Jack', 'Queen', 'King'];
+module.exports = class DrawCardsFun extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'drawcards',
+ aliases: [
+ 'draw-cards',
+ 'drawhand',
+ 'draw-hand'
+ ],
+ group: 'fun',
+ memberName: 'drawcards',
+ description: 'Draw a hand of playing cards.',
+ examples: ['uwu!drawcards 5'],
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
+ args: [
+ {
+ key: 'aAmount',
+ label: 'hand size',
+ prompt: 'How many cards would you like to draw?',
+ type: 'integer',
+ max: 10,
+ min: 1
+ },
+ {
+ key: 'aJokers',
+ prompt: 'Do you want to include jokers in the draw?',
+ type: 'boolean',
+ default: false
+ }
+ ],
+ });
+ this.deck = null;
+ }
+ run(msg, { aAmount, aJokers }) {
+ if (!this.deck)
+ this.deck = this.generateDeck();
+ let cards = this.deck;
+ if (!aJokers)
+ cards = cards.filter(card => !card.includes('Joker'));
+ return msg.reply(`${aAmount === 1 ? '' : '\n'}${Util_js_1.shuffle(cards).slice(0, aAmount).join('\n')}`);
+ }
+ generateDeck() {
+ const deck = [];
+ for (const suit of suits) {
+ deck.push(`${suit} Ace`);
+ for (let i = 2; i <= 10; i++)
+ deck.push(`${suit} ${i}`);
+ for (const face of faces)
+ deck.push(`${suit} ${face}`);
+ }
+ deck.push('⭐ Joker');
+ deck.push('⭐ Joker');
+ return deck;
+ }
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2NhcmRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2Z1bi9kcmF3Y2FyZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2REFBK0Q7QUFDL0QsaURBQTZDO0FBQzdDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDbEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBRXZDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxZQUFhLFNBQVEsNkJBQU87SUFDL0MsWUFBWSxNQUFNO1FBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNWLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLFVBQVU7Z0JBQ1YsV0FBVzthQUNkO1lBQ0QsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsV0FBVztZQUN2QixXQUFXLEVBQUUsK0JBQStCO1lBQzVDLFFBQVEsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNmO1lBQ0QsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzFELGlCQUFpQixFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzVELElBQUksRUFBRTtnQkFDRjtvQkFDSSxHQUFHLEVBQUUsU0FBUztvQkFDZCxLQUFLLEVBQUUsV0FBVztvQkFDbEIsTUFBTSxFQUFFLHdDQUF3QztvQkFDaEQsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsR0FBRyxFQUFFLEVBQUU7b0JBQ1AsR0FBRyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0Q7b0JBQ0ksR0FBRyxFQUFFLFNBQVM7b0JBQ2QsTUFBTSxFQUFFLDRDQUE0QztvQkFDcEQsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTyxFQUFFLEtBQUs7aUJBQ2pCO2FBQ0o7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUNwQixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQy9DLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDckIsSUFBSSxDQUFDLE9BQU87WUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ25FLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ2xHLENBQUM7SUFDRCxZQUFZO1FBQ1IsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUE7WUFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSztnQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUE7U0FDekQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDcEIsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0NBQ0osQ0FBQyJ9 \ No newline at end of file