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