diff options
Diffstat (limited to 'index.ts')
-rw-r--r-- | index.ts | 39 |
1 files changed, 37 insertions, 2 deletions
@@ -1,10 +1,45 @@ import * as dotenv from 'dotenv'; -import { Client } from 'discord.js'; +import axios from 'axios'; +import { Client, MessageEmbed } from 'discord.js'; +import { load } from 'cheerio'; dotenv.config(); var client = new Client(); -// load commands here +client.on("message", msg => { + // hard-coded channel id to prevent mess + if (msg.channel.id != "833644027681177620") return; + if (msg.author.bot) return; + + // check for codes + var codes = msg.content.match(/\d{5,6}(?!\d)/g); + if (!codes) return; + + codes.forEach(code => { + var url = `https://nhentai.net/g/${code}/` + axios({ url, method: "get" }) + .then(response => { + if(response.status != 200) return; + + var reply = "I've found an nhentai code in your message:\n> " + msg.content; + reply += "\n\n" + url; + + var $ = load(response.data); + var tagArr = []; + var tags = $('#tags .tag-container .tags a.tag[href^="/tag"] span.name').each((i, el) => { + tagArr.push($(el).text()); + }); + + msg.reply(reply, new MessageEmbed() + .setColor("#EC2854") + .setTitle("nHentai") + .setURL(url) + .setDescription("tags:\n\n" + tagArr.join(", "))) + }) + .catch(() => console.log("request error'd out :(")); + + }) +}); client.login(process.env.DISCORD_TOKEN); |