From f371123c957d7439b1311d321ae045311c79faa7 Mon Sep 17 00:00:00 2001 From: Flummi Date: Mon, 4 Dec 2017 20:39:30 +0100 Subject: [PATCH] chatbot (wip) --- src/inc/trigger/chatbot.mjs | 49 +++++++++++++++++++++++++++++++++++++ src/inc/trigger/main.mjs | 3 ++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/inc/trigger/chatbot.mjs diff --git a/src/inc/trigger/chatbot.mjs b/src/inc/trigger/chatbot.mjs new file mode 100644 index 0000000..0cce809 --- /dev/null +++ b/src/inc/trigger/chatbot.mjs @@ -0,0 +1,49 @@ +import rp from "request-promise"; +import jsdom from "jsdom"; +let botcust2 = ""; + +export default bot => { + bot._trigger.set("chatbot", new bot.trigger({ + call: /.*uwe.*/i, + active: false, + f: e => { + const chat = e.message; + mitsuku(chat) + .then(res => { + e.reply(res); + }) + .catch(err => { + console.log(err); + }); + } + })); +}; + +function mitsuku(msg) { + return new Promise((resolve, reject) => { + const options = { + uri: "https://kakko.pandorabots.com/pandora/talk?botid=87437a824e345a0d&skin=chat", + method: "POST", + body: { + botcust2: botcust2, + message: msg + }, + headers: { + Cookie: `botcust2=${botcust2}` + }, + json: true + }; + + rp(options) + .then(res => resolve(res)) + .catch(err => reject(err)); + }); +} + +(function init() { + rp("https://kakko.pandorabots.com/pandora/talk?botid=87437a824e345a0d&skin=chat") + .then(res => { + const dom = new jsdom.JSDOM(res); + botcust2 = dom.window.document.querySelector("input[name=botcust2]").value; + }); +})(); \ No newline at end of file diff --git a/src/inc/trigger/main.mjs b/src/inc/trigger/main.mjs index 22af1c9..a180663 100644 --- a/src/inc/trigger/main.mjs +++ b/src/inc/trigger/main.mjs @@ -1,4 +1,5 @@ import cfg from "./cfg"; +import chatbot from "./chatbot"; import coins from "./coins"; import cookie from "./cookie"; import core from "./core"; @@ -17,7 +18,7 @@ import uwe from "./useless_uwe"; import wttr from "./wttr"; export default [ - cfg, coins, cookie, core, debug, + cfg, chatbot, coins, cookie, core, debug, drugs, help, kernel, mcmaniac, parser, quotes, rape, sandbox, urban, nxy, uwe, wttr