From 27a8745e1f7bd96293e98fb1479f43d61f9b9e50 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <gua@adhisimon.org> Date: Mon, 15 Jan 2018 10:15:40 +0700 Subject: [PATCH] skeleton --- .gitignore | 4 ++++ index.js | 7 +++++++ package.json | 28 ++++++++++++++++++++++++++++ transport-telegram.js | 40 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 .gitignore create mode 100644 index.js create mode 100644 package.json create mode 100644 transport-telegram.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16196c1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/node_modules/ +/config.json +/tmp/ +/logs/log* diff --git a/index.js b/index.js new file mode 100644 index 0000000..3daa4e5 --- /dev/null +++ b/index.js @@ -0,0 +1,7 @@ +"use strict"; + +const transport = require('./transport-telegram'); +const trxCenter = require('komodo-sdk/center/messaging/trx-center'); + +transport.init(trxCenter.callback); +trxCenter.setTransport(transport); diff --git a/package.json b/package.json new file mode 100644 index 0000000..6be04d4 --- /dev/null +++ b/package.json @@ -0,0 +1,28 @@ +{ + "name": "komodo-center-telegram", + "version": "0.9.0", + "description": "Komodo Center using Telegram transport", + "main": "index.js", + "scripts": { + "test": "mocha" + }, + "repository": { + "type": "git", + "url": "git@gitlab.kodesumber.com:komodo/komodo-center-telegram.git" + }, + "keywords": [ + "ppob", + "komodo", + "telegram" + ], + "author": "Adhidarma Hadiwinoto <me@adhisimon.org>", + "license": "ISC", + "devDependencies": { + "should": "^13.2.1" + }, + "dependencies": { + "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git", + "node-telegram-bot-api": "^0.30.0", + "request": "^2.83.0" + } +} diff --git a/transport-telegram.js b/transport-telegram.js new file mode 100644 index 0000000..d33d28a --- /dev/null +++ b/transport-telegram.js @@ -0,0 +1,40 @@ +"use strict"; + +const TelegramBot = require('node-telegram-bot-api'); + +const config = require('komodo-sdk/config') +const logger = require('komodo-sdk/logger'); + +const bot = new TelegramBot(config.transport.token, {polling: true}); + +bot.on('message', (msg) => { + const chatId = msg.chat.id; + + // send a message to the chat acknowledging receipt of their message + bot.sendMessage(chatId, 'Received your message'); +}); + +function init(cb) { + if (!cb) { + logger.warn('Callback is not defined'); + console.trace(); + process.exit(1); + return; + } + + _callback = cb; + + bot.connect({ + jid: config.username, + password: config.password, + host: config.xmpp_host + }); +} + +function send(partner, msg) { + logger.verbose('Sending message via transport', {transport: 'telegram', partner: partner, msg: msg}); + //bot.send(partner, msg); +} + +exports.init = init; +exports.send = send; -- 1.9.0