node-red-contrib-tekosbot
Version:
Tekos bot based on matrix
81 lines (59 loc) • 2.04 kB
JavaScript
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);
}