summaryrefslogtreecommitdiff
path: root/dist/commands/nsfw/gelbooru.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/commands/nsfw/gelbooru.js')
-rw-r--r--dist/commands/nsfw/gelbooru.js84
1 files changed, 84 insertions, 0 deletions
diff --git a/dist/commands/nsfw/gelbooru.js b/dist/commands/nsfw/gelbooru.js
new file mode 100644
index 0000000..feda991
--- /dev/null
+++ b/dist/commands/nsfw/gelbooru.js
@@ -0,0 +1,84 @@
+"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 GelbooruBot extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'gelbooru',
+ group: 'nsfw',
+ memberName: 'gelbooru',
+ description: 'Gelbooru.',
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ examples: [
+ 'uwu!gelbooru',
+ 'uwu!gelbooru 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'
+ }
+ ],
+ 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'];
+ if (tags !== 0) {
+ if (blacklist.includes(tags)) {
+ msg.reply('Blacklisted word was used! ⛔');
+ }
+ }
+ let res = yield axios_1.default.get(`https://gelbooru.com/index.php?page=dapi&s=post&q=index&limit=100&tags=${tags}+-rating:safe&json=1`);
+ if (blacklist.includes(res.data[randomInt].tags)) {
+ msg.reply('Sorry! This image had a tag that was blacklisted! ⛔');
+ }
+ let getRating = (rating) => {
+ if (rating === 's') {
+ return 'Safe';
+ }
+ if (rating === 'q') {
+ return 'Questionable';
+ }
+ if (rating === 'e') {
+ return 'Explicit';
+ }
+ if (rating === 'u') {
+ return 'Unrated';
+ }
+ };
+ let emb = new discord_js_1.MessageEmbed()
+ .setColor(0xFFCC4D)
+ .setTitle(`Gelbooru - ${!tags ? 'Random Image' : tags}`)
+ .setDescription(`[Source](https://gelbooru.com/index.php?page=post&s=view&id=${res.data[randomInt].id})`)
+ .setImage(res.data[randomInt].file_url)
+ .setTimestamp(new Date())
+ .setFooter(`Score: ${res.data[randomInt].score} | Rating: ${getRating(res.data[randomInt].rating)}`, msg.author.avatarURL());
+ msg.say(emb);
+ });
+ }
+}
+exports.default = GelbooruBot;
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VsYm9vcnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvbnNmdy9nZWxib29ydS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUErRDtBQUMvRCwyQ0FBMEM7QUFDMUMsa0RBQXlCO0FBRXpCLE1BQXFCLFdBQVksU0FBUSw2QkFBTztJQUM1QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLE1BQU07WUFDYixVQUFVLEVBQUUsVUFBVTtZQUN0QixXQUFXLEVBQUUsV0FBVztZQUN4QixVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDZjtZQUNELFFBQVEsRUFBRTtnQkFDTixjQUFjO2dCQUNkLHdCQUF3QjthQUMzQjtZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUM1RCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLDZCQUE2QjtvQkFDckMsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2FBQ0o7WUFDRCxJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDSyxHQUFHLENBQUMsR0FBb0IsRUFBRSxFQUFFLElBQUksRUFBRTs7WUFDcEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDL0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVuRyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUE7aUJBQzVDO2FBQ0o7WUFFRCxJQUFJLEdBQUcsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQUMsMEVBQTBFLElBQUksc0JBQXNCLENBQUMsQ0FBQTtZQUUvSCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDOUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO2FBQ25FO1lBRUQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUNoQixPQUFPLE1BQU0sQ0FBQTtpQkFDaEI7Z0JBQUMsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUNsQixPQUFPLGNBQWMsQ0FBQTtpQkFDeEI7Z0JBQUMsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUNsQixPQUFPLFVBQVUsQ0FBQTtpQkFDcEI7Z0JBQUMsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUNsQixPQUFPLFNBQVMsQ0FBQTtpQkFDbkI7WUFDTCxDQUFDLENBQUE7WUFFRCxJQUFJLEdBQUcsR0FBRyxJQUFJLHlCQUFZLEVBQUU7aUJBQ3ZCLFFBQVEsQ0FBQyxRQUFRLENBQUM7aUJBQ2xCLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUN2RCxjQUFjLENBQUMsK0RBQStELEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7aUJBQ3hHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztpQkFDdEMsWUFBWSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7aUJBQ3hCLFNBQVMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxjQUFjLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1lBQ2hJLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQztLQUFBO0NBQ0o7QUFoRUQsOEJBZ0VDIn0= \ No newline at end of file