summaryrefslogtreecommitdiff
path: root/dist/commands/nsfw/rule34.js
blob: ffc944e7d7fdd7f89d20ee8e376e576897c13fcc (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
"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 discord_js_commando_1 = require("discord.js-commando");
const discord_js_1 = require("discord.js");
const axios_1 = __importDefault(require("axios"));
class Rule34NSFW extends discord_js_commando_1.Command {
    constructor(client) {
        super(client, {
            name: 'rule34',
            aliases: ['r34'],
            group: 'nsfw',
            memberName: 'rule34',
            description: 'Rule34.',
            throttling: {
                usages: 5,
                duration: 30
            },
            examples: [
                'uwu!rule34',
                'uwu!rule34 minecraft'
            ],
            userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
            args: [
                {
                    key: 'tags',
                    prompt: 'What tag(s) would you like?',
                    type: 'string',
                    default: '',
                }
            ],
            nsfw: true
        });
    }
    run(msg, { tags }) {
        return __awaiter(this, void 0, void 0, function* () {
            let randomInt = Math.floor(Math.random() * 100);
            let blacklist = ['loli', 'shota', 'cub', 'young', 'child', 'baby', 'guro', 'gore', 'vore', 'scat', 'poop', 'kid', 'shit', 'turd', 'feces', 'excrement', 'excrete'];
            if (tags !== 0) {
                if (blacklist.includes(tags.toLowerCase())) {
                    return msg.reply('Blacklisted word was used! ⛔');
                }
            }
            let res = yield axios_1.default.get(`http://rule34.xxx/index.php?page=dapi&s=post&q=index&limit=100&tags=${tags}+-rating:safe&json=1`);
            if (blacklist.includes(res.data[randomInt].tags.toLowerCase())) {
                return msg.reply('Sorry! This image had a tag that was blacklisted! ⛔');
            }
            let emb = new discord_js_1.MessageEmbed()
                .setColor(0xFFCC4D)
                .setTitle(`Rule34 - ${!tags ? 'Random Image' : tags}`)
                .setDescription(`[Source](https://rule34.xxx/index.php?page=post&s=view&id=${res.data[randomInt].id})`)
                .setImage(`https://rule34.xxx/images/${res.data[randomInt].directory}/${res.data[randomInt].image}`)
                .setTimestamp(new Date())
                .setFooter(`Score: ${res.data[randomInt].score} | Rating: ${res.data[randomInt].rating}`, msg.author.avatarURL());
            msg.say(emb);
        });
    }
}
exports.default = Rule34NSFW;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZTM0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL25zZncvcnVsZTM0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStEO0FBQy9ELDJDQUEwQztBQUMxQyxrREFBeUI7QUFFekIsTUFBcUIsVUFBVyxTQUFRLDZCQUFPO0lBQzNDLFlBQVksTUFBTTtRQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDVixJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixLQUFLLEVBQUUsTUFBTTtZQUNiLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNmO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLFlBQVk7Z0JBQ1osc0JBQXNCO2FBQ3pCO1lBQ0QsZUFBZSxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzFELGlCQUFpQixFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO1lBQzVELElBQUksRUFBRTtnQkFDRjtvQkFDSSxHQUFHLEVBQUUsTUFBTTtvQkFDWCxNQUFNLEVBQUUsNkJBQTZCO29CQUNyQyxJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUUsRUFBRTtpQkFDZDthQUNKO1lBQ0QsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0ssR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUU7O1lBQ3BDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFBO1lBQy9DLElBQUksU0FBUyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRW5LLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDWixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7b0JBQ3hDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO2lCQUNuRDthQUNKO1lBRUQsSUFBSSxHQUFHLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUFDLHVFQUF1RSxJQUFJLHNCQUFzQixDQUFDLENBQUE7WUFFNUgsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQzVELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO2FBQzFFO1lBRUQsSUFBSSxHQUFHLEdBQUcsSUFBSSx5QkFBWSxFQUFFO2lCQUN2QixRQUFRLENBQUMsUUFBUSxDQUFDO2lCQUNsQixRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDckQsY0FBYyxDQUFDLDZEQUE2RCxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO2lCQUN0RyxRQUFRLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ25HLFlBQVksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2lCQUN4QixTQUFTLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUNySCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtDQUNKO0FBdERELDZCQXNEQyJ9