UNPKG

recime-bot-runtime

Version:

This runtime is intended to run inside a micro-service container with platform specific integration and module interpreter.

56 lines (55 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var request = require("request"); var Viber = /** @class */ (function () { function Viber(bot) { this.bot = bot; } Viber.prototype.send = function (message, filter) { var _this = this; var response = filter.map(function (id) { return function () { return _this.sendToReceiver(message, id); }; }); return response .reduce(function (a, b) { return a.then(function (messages) { return b().then(function (message) { if (message.status === 0) { messages.push(message.message_token); } return messages; }); }); }, Promise.resolve([])); }; Viber.prototype.sendToReceiver = function (message, receiver) { var _this = this; message.receiver = receiver; return new Promise(function (resolve, reject) { request({ json: true, method: "POST", url: "https://chatapi.viber.com/pa/send_message", headers: { "X-Viber-Auth-Token": process.env.RECIME_VIBER_ACCESS_TOKEN || _this.bot.config.RECIME_VIBER_ACCESS_TOKEN }, body: message }, function (err, response, body) { if (err) { return reject(err); } if (body && body.length > 0) { if (body[0].status !== 'ok') { return reject({ code: body[0].status, message: body[0].status_message }); } } resolve(body); }); }); }; return Viber; }()); exports.Viber = Viber;