summaryrefslogtreecommitdiff
path: root/dist/models/commands/Subreddit.js
diff options
context:
space:
mode:
author8cy <[email protected]>2020-05-05 15:35:59 -0700
committer8cy <[email protected]>2020-05-05 15:35:59 -0700
commita45a92b430bec8a21db07d2571357540b4964c07 (patch)
treeeb79b8b5c43bac19ef6d5a947528010c0c6ccec8 /dist/models/commands/Subreddit.js
parentadd "|| true" to the end of the scripts to ignore errors (diff)
downloaddep-core-a45a92b430bec8a21db07d2571357540b4964c07.tar.xz
dep-core-a45a92b430bec8a21db07d2571357540b4964c07.zip
del dist/ and change bot.js local
Diffstat (limited to 'dist/models/commands/Subreddit.js')
-rw-r--r--dist/models/commands/Subreddit.js90
1 files changed, 0 insertions, 90 deletions
diff --git a/dist/models/commands/Subreddit.js b/dist/models/commands/Subreddit.js
deleted file mode 100644
index 055b718..0000000
--- a/dist/models/commands/Subreddit.js
+++ /dev/null
@@ -1,90 +0,0 @@
-"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 Command_js_1 = __importDefault(require("../Command.js"));
-const node_superfetch_1 = __importDefault(require("node-superfetch"));
-const emoji_random_1 = __importDefault(require("emoji-random"));
-module.exports = class SubredditCommand extends Command_js_1.default {
- constructor(client, info) {
- super(client, info);
- this.subreddit = info.subreddit;
- this.postType = info.postType ? Array.isArray(info.postType) ? info.postType : [info.postType] : null;
- this.getIcon = info.getIcon || false;
- this.credit.push({
- name: 'Reddit',
- url: 'https://www.reddit.com/',
- reason: 'API',
- reasonURL: 'https://www.reddit.com/dev/api/'
- });
- }
- run(msg, { subreddit }, fromPattern) {
- return __awaiter(this, void 0, void 0, function* () {
- if (fromPattern)
- subreddit = msg.patternMatches[1];
- if (!subreddit)
- subreddit = typeof this.subreddit === 'function' ? this.subreddit() : this.subreddit;
- try {
- const post = yield this.random(subreddit, msg.channel.nsfw);
- if (!post)
- return msg.reply('Could not find any results. ' + emoji_random_1.default.random());
- return msg.say(this.generateText(post.post, post.origin, post.icon));
- }
- catch (err) {
- if (err.status === 403)
- return msg.reply('This subreddit is private. ' + emoji_random_1.default.random());
- if (err.status === 404)
- return msg.reply('Could not find any results. ' + emoji_random_1.default.random());
- return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
- }
- });
- }
- generateText() {
- throw new Error('The generateText method is required.');
- }
- random(subreddit, nsfw) {
- return __awaiter(this, void 0, void 0, function* () {
- let icon = null;
- const { body } = yield node_superfetch_1.default
- .get(`https://www.reddit.com/r/${subreddit}/hot.json`)
- .query({ limit: 100 });
- if (!body.data.children.length)
- return null;
- const posts = body.data.children.filter(post => {
- if (!post.data)
- return false;
- if (!nsfw && post.data.over_18)
- return false;
- return (this.postType ? this.postType.includes(post.data.post_hint) : true) && post.data.url && post.data.title;
- });
- if (!posts.length)
- return null;
- if (this.getIcon)
- icon = yield this.fetchIcon(subreddit);
- return {
- origin: subreddit,
- post: posts[Math.floor(Math.random() * posts.length)].data,
- icon
- };
- });
- }
- fetchIcon(subreddit) {
- return __awaiter(this, void 0, void 0, function* () {
- const { body } = yield node_superfetch_1.default.get(`https://www.reddit.com/r/${subreddit}/about.json`);
- if (!body.data.icon_img && !body.data.community_icon)
- return 'https://i.imgur.com/DSBOK0P.png';
- return body.data.icon_img || body.data.community_icon;
- });
- }
-};
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VicmVkZGl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVscy9jb21tYW5kcy9TdWJyZWRkaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrREFBbUM7QUFDbkMsc0VBQXFDO0FBQ3JDLGdFQUFnQztBQUVoQyxNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sZ0JBQWlCLFNBQVEsb0JBQU87SUFDbkQsWUFBWSxNQUFNLEVBQUUsSUFBSTtRQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDYixJQUFJLEVBQUUsUUFBUTtZQUNkLEdBQUcsRUFBRSx5QkFBeUI7WUFDOUIsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsaUNBQWlDO1NBQy9DLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFSyxHQUFHLENBQUMsR0FBb0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLFdBQVc7O1lBQ3RELElBQUksV0FBVztnQkFBRSxTQUFTLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBUztnQkFBRSxTQUFTLEdBQUcsT0FBTyxJ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 \ No newline at end of file