node-red-contrib-chatbot
Version:
REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required
53 lines (48 loc) • 1.42 kB
JavaScript
var _ = require('underscore');
var ChatLog = require('../chat-log.js');
var request = require('request').defaults({ encoding: null });
//var token = 'U5iDWa2uRAAdaE2e6i0xxuWQgT82UF5D7Bsmy8nJ';
module.exports = function(options) {
options = _.extend({
token: null
}, options);
var token = options.token;
return {
inbound: function(msg) {
return new Promise(function(resolve, reject) {
var chatLog = new ChatLog(msg.chat());
request.post({
url: 'https://tracker.dashbot.io/track?platform=generic&v=0.8.2-rest&type=incoming&apiKey=' + token,
json: {
'text': chatLog.toString(msg),
'userId': String(msg.payload.chatId)
}
}, function(err) {
if (err) {
reject(err);
} else {
resolve(msg);
}
});
});
},
outbound: function(msg) {
return new Promise(function(resolve, reject) {
var chatLog = new ChatLog(msg.chat());
request.post({
url: 'https://tracker.dashbot.io/track?platform=generic&v=0.8.2-rest&type=outgoing&apiKey=' + token,
json: {
'text': chatLog.toString(msg),
'userId': String(msg.payload.chatId)
}
}, function(err) {
if (err) {
reject(err);
} else {
resolve(msg);
}
});
});
}
};
};