summaryrefslogtreecommitdiff
path: root/dist/commands/nsfw/danbooru.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/commands/nsfw/danbooru.js')
-rw-r--r--dist/commands/nsfw/danbooru.js84
1 files changed, 84 insertions, 0 deletions
diff --git a/dist/commands/nsfw/danbooru.js b/dist/commands/nsfw/danbooru.js
new file mode 100644
index 0000000..ce1ef04
--- /dev/null
+++ b/dist/commands/nsfw/danbooru.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 DanbooruBot extends discord_js_commando_1.Command {
+ constructor(client) {
+ super(client, {
+ name: 'danbooru',
+ group: 'nsfw',
+ memberName: 'danbooru',
+ description: 'Danbooru.',
+ throttling: {
+ usages: 5,
+ duration: 30
+ },
+ examples: [
+ 'uwu!danbooru',
+ 'uwu!danbooru 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://danbooru.donmai.us/posts.json?limit=200&tags=${tags}+-rating:safe`);
+ 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(`Danbooru - ${!tags ? 'Random Image' : tags}`)
+ .setDescription(`[Source](http://danbooru.donmai.us/posts/${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 = DanbooruBot;
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuYm9vcnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvbnNmdy9kYW5ib29ydS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUErRDtBQUMvRCwyQ0FBMEM7QUFDMUMsa0RBQXlCO0FBRXpCLE1BQXFCLFdBQVksU0FBUSw2QkFBTztJQUM1QyxZQUFZLE1BQU07UUFDZCxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLE1BQU07WUFDYixVQUFVLEVBQUUsVUFBVTtZQUN0QixXQUFXLEVBQUUsV0FBVztZQUN4QixVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLEVBQUU7YUFDZjtZQUNELFFBQVEsRUFBRTtnQkFDTixjQUFjO2dCQUNkLHdCQUF3QjthQUMzQjtZQUNELGVBQWUsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUMxRCxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztZQUM1RCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLE1BQU07b0JBQ1gsTUFBTSxFQUFFLDZCQUE2QjtvQkFDckMsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2FBQ0o7WUFDRCxJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDSyxHQUFHLENBQUMsR0FBb0IsRUFBRSxFQUFFLElBQUksRUFBRTs7WUFDcEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDL0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVuRyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUE7aUJBQzVDO2FBQ0o7WUFFRCxJQUFJLEdBQUcsR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQUMsd0RBQXdELElBQUksZUFBZSxDQUFDLENBQUE7WUFFdEcsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzlDLEdBQUcsQ0FBQyxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQTthQUNuRTtZQUVELElBQUksU0FBUyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDaEIsT0FBTyxNQUFNLENBQUE7aUJBQ2hCO2dCQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDbEIsT0FBTyxjQUFjLENBQUE7aUJBQ3hCO2dCQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDbEIsT0FBTyxVQUFVLENBQUE7aUJBQ3BCO2dCQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDbEIsT0FBTyxTQUFTLENBQUE7aUJBQ25CO1lBQ0wsQ0FBQyxDQUFBO1lBRUQsSUFBSSxHQUFHLEdBQUcsSUFBSSx5QkFBWSxFQUFFO2lCQUN2QixRQUFRLENBQUMsUUFBUSxDQUFDO2lCQUNsQixRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDdkQsY0FBYyxDQUFDLDRDQUE0QyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO2lCQUNyRixRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUM7aUJBQ3RDLFlBQVksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2lCQUN4QixTQUFTLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssY0FBYyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtZQUNoSSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtDQUNKO0FBaEVELDhCQWdFQyJ9 \ No newline at end of file