From f837e8717f36651928c5f2e979c6ff61f5290fc5 Mon Sep 17 00:00:00 2001 From: ben kline Date: Fri, 2 Feb 2018 10:00:25 -0700 Subject: [PATCH 1/8] add cleverbot --- package.json | 3 ++- server/forsta_bot.js | 32 ++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index db8069e..fc57ea8 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dependencies": { "bcrypt": "^1.0.3", "browserify": "^14.5.0", + "cleverbot.io": "^1.0.4", "csv-stringify": "2.0.0", "envify": "^4.1.0", "express": "4.16.2", @@ -37,10 +38,10 @@ "grunt-contrib-sass": "1.0.0", "grunt-contrib-uglify-es": "git://github.com/gruntjs/grunt-contrib-uglify.git#harmony", "grunt-env": "^0.4.4", - "librelay": "3.4.0", "jquery": "3.2.1", "jsonwebtoken": "^8.1.0", "jwt-decode": "^2.2.0", + "librelay": "3.4.0", "lodash": "^4.17.4", "morgan": "1.9.0", "semantic-ui": "2.2.13", diff --git a/server/forsta_bot.js b/server/forsta_bot.js index 0da3994..86d7f26 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -6,6 +6,11 @@ const BotAtlasClient = require('./atlas_client'); const cache = require('./cache'); const relay = require('librelay'); +const cleverbot = require("cleverbot.io"); +const bot = new cleverbot({ + apiUser: process.env.YOUR_API_USER, + apiKey: process.env.YOUR_API_KEY +}); class ForstaBot { @@ -67,17 +72,24 @@ class ForstaBot { } const dist = await this.resolveTags(msg.distribution.expression); - const senderUser = (await this.getUsers([msg.sender.userId]))[0]; - const reply = `Hello, ${senderUser.first_name}!`; - - this.msgSender.send({ - distribution: dist, - threadId: msg.threadId, - html: `${ reply }`, - text: reply - }); + if (message) { + bot.ask(message, (err, reply) => { + if (!err) { + console.info(message, reply); + this.msgSender.send({ + distribution: dist, + threadId: msg.threadId, + html: `${ reply }`, + text: reply + }); + } else { + console.info('error', err); + } + }); + } else { + console.info('(not replying to that one)'); + } } } - module.exports = ForstaBot; From 809d079c59e590623df95109ee4d18ef216feec8 Mon Sep 17 00:00:00 2001 From: ben kline Date: Fri, 2 Feb 2018 10:51:45 -0700 Subject: [PATCH 2/8] cleverbot --- package.json | 2 +- server/forsta_bot.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index fc57ea8..d2ac4d2 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "jquery": "3.2.1", "jsonwebtoken": "^8.1.0", "jwt-decode": "^2.2.0", - "librelay": "3.4.0", + "librelay": "^3.4.0", "lodash": "^4.17.4", "morgan": "1.9.0", "semantic-ui": "2.2.13", diff --git a/server/forsta_bot.js b/server/forsta_bot.js index 86d7f26..18354f4 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -76,7 +76,6 @@ class ForstaBot { if (message) { bot.ask(message, (err, reply) => { if (!err) { - console.info(message, reply); this.msgSender.send({ distribution: dist, threadId: msg.threadId, From 7b2d5db7737c9045737aacea6d0cc5ec56b21670 Mon Sep 17 00:00:00 2001 From: ben kline Date: Fri, 2 Feb 2018 11:38:42 -0700 Subject: [PATCH 3/8] cleverbot --- server/forsta_bot.js | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/server/forsta_bot.js b/server/forsta_bot.js index 18354f4..5b30e1d 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -72,23 +72,14 @@ class ForstaBot { } const dist = await this.resolveTags(msg.distribution.expression); + const reply = bot.ask(message); - if (message) { - bot.ask(message, (err, reply) => { - if (!err) { - this.msgSender.send({ - distribution: dist, - threadId: msg.threadId, - html: `${ reply }`, - text: reply - }); - } else { - console.info('error', err); - } - }); - } else { - console.info('(not replying to that one)'); - } + this.msgSender.send({ + distribution: dist, + threadId: msg.threadId, + html: `${ reply }`, + text: reply + }); } } module.exports = ForstaBot; From 1f05e42fa2b8a33b860f6df1de90a6b350b1324f Mon Sep 17 00:00:00 2001 From: ben kline Date: Fri, 2 Feb 2018 12:54:35 -0700 Subject: [PATCH 4/8] cleverbot --- package.json | 2 +- server/forsta_bot.js | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index d2ac4d2..bd47826 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "jquery": "3.2.1", "jsonwebtoken": "^8.1.0", "jwt-decode": "^2.2.0", - "librelay": "^3.4.0", + "librelay": "^3.5.0", "lodash": "^4.17.4", "morgan": "1.9.0", "semantic-ui": "2.2.13", diff --git a/server/forsta_bot.js b/server/forsta_bot.js index 5b30e1d..3d9be38 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -7,10 +7,7 @@ const cache = require('./cache'); const relay = require('librelay'); const cleverbot = require("cleverbot.io"); -const bot = new cleverbot({ - apiUser: process.env.YOUR_API_USER, - apiKey: process.env.YOUR_API_KEY -}); +const bot = new cleverbot('S8yOZUtt7IpSQwOu','MSHXgnxUg33eLBjr9j4p8DYo1nEOmwZ9'); class ForstaBot { @@ -72,14 +69,22 @@ class ForstaBot { } const dist = await this.resolveTags(msg.distribution.expression); - const reply = bot.ask(message); + bot.ask(message, (err, response) => { + if (!err) { + console.info("response:", response); - this.msgSender.send({ - distribution: dist, - threadId: msg.threadId, - html: `${ reply }`, - text: reply + this.msgSender.send({ + distribution: dist, + threadId: msg.threadId, + html: `${ response }`, + text: response + }); + + } else { + console.log("error:", err); + } }); + } } module.exports = ForstaBot; From e6efbcb6923bb425803ac673b79a0bddae51539b Mon Sep 17 00:00:00 2001 From: ben kline Date: Fri, 2 Feb 2018 13:32:10 -0700 Subject: [PATCH 5/8] cleverbot --- server/forsta_bot.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/forsta_bot.js b/server/forsta_bot.js index 3d9be38..4805060 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -69,6 +69,7 @@ class ForstaBot { } const dist = await this.resolveTags(msg.distribution.expression); + bot.ask(message, (err, response) => { if (!err) { console.info("response:", response); From 8cc4f70ea194fb82b450033a3366a79f7c34ff92 Mon Sep 17 00:00:00 2001 From: ben kline Date: Mon, 5 Feb 2018 10:40:13 -0700 Subject: [PATCH 6/8] bot chats --- package.json | 2 +- server/forsta_bot.js | 24 +++++++++++------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index bd47826..e367676 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "jquery": "3.2.1", "jsonwebtoken": "^8.1.0", "jwt-decode": "^2.2.0", - "librelay": "^3.5.0", + "librelay": "^4.0.0", "lodash": "^4.17.4", "morgan": "1.9.0", "semantic-ui": "2.2.13", diff --git a/server/forsta_bot.js b/server/forsta_bot.js index 4805060..e901095 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -5,9 +5,8 @@ const BotAtlasClient = require('./atlas_client'); const cache = require('./cache'); const relay = require('librelay'); - const cleverbot = require("cleverbot.io"); -const bot = new cleverbot('S8yOZUtt7IpSQwOu','MSHXgnxUg33eLBjr9j4p8DYo1nEOmwZ9'); +const bot = new cleverbot(process.env.CBOT_API_USER,process.env.CBOT_API_KEY); class ForstaBot { @@ -67,23 +66,22 @@ class ForstaBot { console.error("Received unsupported message:", msgEnvelope); return; } - const dist = await this.resolveTags(msg.distribution.expression); - bot.ask(message, (err, response) => { + const query = msg.data.body[0].value; + bot.ask(query, (err, response) => { if (!err) { - console.info("response:", response); - + console.info("you:", query); + console.info("cleverbot:", response); this.msgSender.send({ - distribution: dist, - threadId: msg.threadId, - html: `${ response }`, - text: response + distribution: dist, + threadId: msg.threadId, + html: `${ response }`, + text: response }); - } else { - console.log("error:", err); - } + console.info("error:", err); + } }); } From 607c6eafae5d3741536fb1a753cd584d8156b43c Mon Sep 17 00:00:00 2001 From: ben kline Date: Mon, 5 Feb 2018 11:03:43 -0700 Subject: [PATCH 7/8] librelay 3.4.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e367676..b604a9b 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "jquery": "3.2.1", "jsonwebtoken": "^8.1.0", "jwt-decode": "^2.2.0", - "librelay": "^4.0.0", + "librelay": "3.4.2", "lodash": "^4.17.4", "morgan": "1.9.0", "semantic-ui": "2.2.13", From a8778e3ce8127e90c064a40e785a149e0d4ad23d Mon Sep 17 00:00:00 2001 From: ben kline Date: Sat, 10 Feb 2018 17:24:21 -0700 Subject: [PATCH 8/8] add bot-session creation --- server/forsta_bot.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server/forsta_bot.js b/server/forsta_bot.js index e901095..6b90761 100644 --- a/server/forsta_bot.js +++ b/server/forsta_bot.js @@ -27,9 +27,18 @@ class ForstaBot { this.msgSender = await relay.MessageSender.factory(); + this.bot = await bot.create(function (err, session){ + err ? console.log("cleverbot error:", err) : console.info("bot session:", session); + return bot; + }); + await this.msgReceiver.connect(); + } + + + stop() { if (this.msgReceiver) { console.warn("Stopping message receiver"); @@ -71,6 +80,7 @@ class ForstaBot { const query = msg.data.body[0].value; bot.ask(query, (err, response) => { if (!err) { + ; console.info("you:", query); console.info("cleverbot:", response); this.msgSender.send({