UNPKG

courtbot-engine-twilio

Version:

Twilio connections for courtbot-engine.

55 lines (40 loc) 1.72 kB
"use strict"; 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 }; }