diff --git a/src/inc/trigger/chatbot.mjs b/src/inc/trigger/chatbot.mjs index aeec7e6..6e5fb84 100644 --- a/src/inc/trigger/chatbot.mjs +++ b/src/inc/trigger/chatbot.mjs @@ -1,8 +1,4 @@ -import { cfg } from "../cfg"; -import rp from "request-promise"; -import jsdom from "jsdom"; -let sessionid = ""; -let api = "sprince/mrsprince"; //"fjosnir/hediko"; +import cleverbot from "./lib/cleverbot"; export default bot => { bot._trigger.set("chatbot", new bot.trigger({ @@ -14,48 +10,13 @@ export default bot => { .replace(/uwe/gi, "") .split("?") .join(""); - mitsuku(chat) + cleverbot.ask(chat) .then(res => { - e.reply(res.responses[0].replace(/mitsuku/gi, "Uwe")); + e.reply(res.response); }) .catch(err => { - e.reply("Darauf habe ich keine Antwort ;;"); - console.log(err.message); + console.log(err); }); } })); -}; - -const mitsuku = msg => new Promise((resolve, reject) => { - const options = { - uri: `https://playground.pandorabots.com/talk/${api}?user_key=${cfg.main.chatbotkey.val}&sessionid=${sessionid}&input=${msg}&client_name=uwe`, - method: "POST", - body: { - recent: true - }, - json: true - }; - rp(options) - .then(res => { - console.log(res); - resolve(res); - }) - .catch(err => reject(err)); -}); - -const init = () => { - const options = { - uri: `https://playground.pandorabots.com/talk/${api}?user_key=${cfg.main.chatbotkey.val}&input=Hallo&client_name=uwe`, - method: "POST", - body: { - recent: true - }, - json: true - }; - rp(options) - .then(res => { - sessionid = res.sessionid; - }); -}; - -setTimeout(()=>init(), 1000); \ No newline at end of file +}; \ No newline at end of file diff --git a/src/inc/trigger/lib/cleverbot.mjs b/src/inc/trigger/lib/cleverbot.mjs new file mode 100644 index 0000000..1452387 --- /dev/null +++ b/src/inc/trigger/lib/cleverbot.mjs @@ -0,0 +1,51 @@ +import rp from "request-promise"; +import { cfg } from "../../../inc/cfg"; + +class cleverbot { + constructor() { + this.api = "https://cleverbot.io/1.0"; + this.nick = ""; + setTimeout(()=>this.init(), 2000); + } + + init() { + const options = { + url: `${this.api}/create`, + method: "POST", + body: cfg.main.chatbot.val, + json: true + }; + rp(options) + .then(res => { + if(res.status === "success") + this.nick = res.nick; + }) + .catch(err => console.log(err)); + } + + ask(msg) { + return new Promise((resolve, reject) => { + const options = { + url: `${this.api}/ask`, + method: "POST", + body: Object.assign(cfg.main.chatbot.val, { + nick: this.nick, + text: msg + }), + json: true + }; + rp(options) + .then(res => { + if(res.status === "success") + resolve(res); + else + reject(res.status); + }) + .catch(err => { + reject(err); + }); + }); + } +}; + +export default new cleverbot(); \ No newline at end of file