prisme-flow
Version:
prisme platform flow engine
56 lines (51 loc) • 1.46 kB
JavaScript
/**
* Created by prisme.io on 09/06/2017.
*/
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)
}
})
})
}
}
}