const Discord = require("discord.js"); const fs = require('fs'); const request = require('request'); const rp = require('request-promise-native'); class Lewd { constructor() { this.matches = [ "tits", "ass", "booty", "thicc", "2d", "furry", "sexy", "reddimg" ]; } async loadSubreddit(name) { let subredditData = await rp(`https://www.reddit.com/r/${name}.json?limit=250`); try { let sJson = JSON.parse(subredditData); return sJson; } catch (e) { console.log("Invalid JSON!"); return ""; } } async getRandomEntry(subreddit) { let srData = await this.loadSubreddit(subreddit); let count = srData.data.children.length; for(let i = 0; i < 10; i++) { let selection = Math.floor(Math.random() * count); let url = srData.data.children[selection].data.url; if(url.endsWith('.jpg') || url.endsWith('.gif') || url.endsWith('.png') || url.endsWith('.jpeg') || url.includes('gfycat.com') ) { return url.toString(); } } return -1; } async getRandomRedditImg(sub) { let rEmbed = new Discord.RichEmbed(); let img = await this.getRandomEntry(sub); console.log(img); if(img.includes('gfycat.com')) { return img; } else { rEmbed.setImage(img); } return rEmbed; } async action(msg) { let chan = msg.channel; if(msg.content.startsWith('!tits')) { chan.send(await this.getRandomRedditImg('homegrowntits+BigBoobsGW+Boobies')); } else if (msg.content.startsWith('!booty') || msg.content.startsWith('!ass')) { chan.send(await this.getRandomRedditImg('bigasses+whooties+pawg+slightcellulite')); } else if (msg.content.startsWith('!thicc')) { chan.send(await this.getRandomRedditImg('thicker+thickthighs+chubby+voluptuous+breedingmaterial')); } else if (msg.content.startsWith('!2d')) { chan.send(await this.getRandomRedditImg('hentai+rule34')); } else if (msg.content.startsWith('!furry')) { chan.send(await this.getRandomRedditImg('furry+yiff')); } else if (msg.content.startsWith('!sexy')) { chan.send(await this.getRandomRedditImg('lingerie+gonemild')); } else if (msg.content.startsWith('!reddimg')) { let contentArr = msg.content.split(" "); if(contentArr.length < 2) return; chan.send(await this.getRandomRedditImg(contentArr[1])); } } } module.exports = Lewd;