courtbot-engine-twilio
Version:
Twilio connections for courtbot-engine.
55 lines (40 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (name, options) {
var communicationType = "sms" + (name || "");
_courtbotEngine.events.on("query-communication-types", function (types) {
return types.push(communicationType);
});
_courtbotEngine.events.on("add-routes", function (_ref) {
var router = _ref.router,
registrationSource = _ref.registrationSource,
messageSource = _ref.messageSource;
router.post("/sms", function (req, res) {
_log4js2.default.getLogger("sms").debug("Incomming request", req.body);
var text = req.body.Body.toUpperCase().trim();
var phone = req.body.From;
var conversation = new _courtbotEngine.CourtbotConversation(communicationType, registrationSource, messageSource);
conversation.on("reply", function (reply, result) {
result.promise = (0, _twilio.sendMessage)(reply, res);
});
conversation.parse(text, phone);
});
});
_courtbotEngine.events.on("send-non-reply", function (data) {
if (data.communicationType === communicationType) {
data.result.promises.push((0, _twilio.sendNonReplyMessage)(data.to, data.msg, options));
}
});
_courtbotEngine.events.on("verify-contact", function (data) {
if (data.communicationType === communicationType) {
data.result.promises.push((0, _twilio.verifyNumber)(data.contact, options));
}
});
};
var _log4js = require("log4js");
var _log4js2 = _interopRequireDefault(_log4js);
var _twilio = require("./twilio");
var _courtbotEngine = require("courtbot-engine");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }