UNPKG

prisme-flow

Version:

prisme platform flow engine

47 lines (39 loc) 1.33 kB
/** * Created by prisme.io on 09/06/2017. */ var MessageTemplate = require('./lib/message-template.js') var emoji = require('node-emoji') var utils = require('./lib/helpers/utils') module.exports = function (RED) { function BotRequest (config) { RED.nodes.createNode(this, config) var node = this this.message = config.message this.buttonLabel = config.buttonLabel this.requestType = config.requestType this.transports = ['telegram', 'facebook'] this.on('input', function (msg) { var originalMessage = msg.originalMessage var chatId = msg.payload.chatId || (originalMessage && originalMessage.chat.id) var messageId = msg.payload.messageId || (originalMessage && originalMessage.message_id) var message = node.message var requestType = node.requestType var buttonLabel = node.buttonLabel var template = MessageTemplate(msg, node) // check transport compatibility if (!utils.matchTransport(node, msg)) { return } msg.payload = { type: 'request', requestType: requestType, label: buttonLabel, chatId: chatId, messageId: messageId, content: emoji.emojify(template(message)) } node.send(msg) }) } RED.nodes.registerType('bot-request', BotRequest) }