UNPKG

node-red-contrib-chatbot

Version:

REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required

57 lines (52 loc) 1.9 kB
const TelegramServer = require('../lib/platforms/telegram'); const { GenericOutNode, GenericInNode, GenericBotNode } = require('../lib/sender-factory/index'); module.exports = function(RED) { RED.nodes.registerType( 'chatbot-telegram-node', GenericBotNode( 'telegram', RED, (node, botConfiguration) => { return TelegramServer.createServer({ token: botConfiguration.token, providerToken: botConfiguration.providerToken, polling: botConfiguration.polling, contextProvider: node.contextProvider, debug: botConfiguration.debug, webHook: botConfiguration.webHook, skipMediaFiles: botConfiguration.skipMediaFiles, connectMode: botConfiguration.connectMode, chatbotId: botConfiguration.chatbotId, RED: RED }); }, (config, node) => ({ token: node.credentials != null && node.credentials.token != null ? node.credentials.token.trim() : null, providerToken: node.credentials != null && node.credentials.providerToken != null ? node.credentials.providerToken.trim() : null, polling: config.polling, debug: config.debug, webHook: config.webHook, skipMediaFiles: config.skipMediaFiles, connectMode: config.connectMode, storeMessages: config.storeMessages, enableMissionControl: config.enableMissionControl, inspectMessages: config.inspectMessages, chatbotId: config.chatbotId }) ), { credentials: { token: { type: 'text' }, providerToken: { type: 'text' } } } ); RED.nodes.registerType('chatbot-telegram-receive', GenericInNode('telegram', RED, { splitEvents: true })); RED.nodes.registerType('chatbot-telegram-send', GenericOutNode('telegram', RED)); };