UNPKG

node-red-contrib-tekosbot

Version:

Tekos bot based on matrix

81 lines (59 loc) 2.04 kB
var MessageTemplate = require('../lib/message-template-async'); var emoji = require('node-emoji'); var utils = require('../lib/helpers/utils'); var mustache = require("mustache"); module.exports = function(RED) { function TekosBotImages(config) { RED.nodes.createNode(this, config); var node = this; this.medias = config.medias; this.transports = ['facebook']; this.on('input', function(msg) { // check transport compatibility if (!utils.matchTransport(node, msg)) { return; } var chatId = utils.getChatId(msg); var messageId = utils.getMessageId(msg); var template = MessageTemplate(msg, node); // get values from config // prepare the message, first the config, then payload var medias = utils.extractValue('buttons', 'medias', node, msg); // var images = this.images msg.payload = { type: 'media', chatId: chatId, messageId: messageId, medias: medias }; node.send(msg); }); } function TekosBotVideos(config) { RED.nodes.createNode(this, config); var node = this; this.medias = config.medias; this.transports = ['facebook']; this.on('input', function(msg) { // check transport compatibility if (!utils.matchTransport(node, msg)) { return; } var chatId = utils.getChatId(msg); var messageId = utils.getMessageId(msg); var template = MessageTemplate(msg, node); // get values from config // prepare the message, first the config, then payload var medias = utils.extractValue('buttons', 'medias', node, msg); msg.payload = { type: 'media', chatId: chatId, messageId: messageId, medias: medias }; node.send(msg); }); } RED.nodes.registerType('tekosbot-image', TekosBotImages); // RED.nodes.registerType('tekosbot-video', TekosBotVideos); }