diff --git a/index.js b/index.js new file mode 100644 index 0000000..8367e2e --- /dev/null +++ b/index.js @@ -0,0 +1,69 @@ +var iniparser = require('iniparser'); +var config = iniparser.parseSync('./config.ini'); +var telegram = require('node-telegram-bot-api'); +var request = require('request'); +var http = require('http'); +var url = require('url'); + +var chat_ids = {}; + +var options = { + polling: true +}; + +var bot = new telegram(config.globals.token, options); + +function sendMessage(destination, message) { + //destination = destination.replace(/@TELEGRAM$/, ''); + console.log('Sending reply to ' + destination + ': ' + message); + var chat_id = chat_ids[destination]; + bot.sendMessage(chat_id, message); +} + +function createHttpResponseServer(){ + var httpServer = http.createServer(function(request,response){ + var qs = url.parse(request.url, true).query; + console.log('Incoming message from SMSIN server:') + console.log(qs); + response.end('OK'); + + sendMessage(qs.PhoneNumber, qs.text); + }); + httpServer.listen(config.globals.listen_port, function(){ + console.log("listening on " + config.globals.listen_port); + }) +} +createHttpResponseServer(); + +bot.getMe().then(function (me) { + console.log('Hi my name is %s!', me.username); +}); +bot.on('text', function (msg) { + console.log(msg); + + var from = msg.from.username.toUpperCase() + '@TELEGRAM'; + + chat_ids[from] = msg.chat.id; + + var request_opts = { + url: config.globals.aaa, + qs: { + PhoneNumber: from, + Text: msg.text, + Res_Port: config.globals.listen_port, + SMSCID: config.globals.smscid + } + }; + + request(request_opts, function(err, response, body) { + if (err) { + console.log('Request error: ' + err); + return; + } + + console.log('Response: ' + response); + console.log('Body: ' + body); + + }); +}); + diff --git a/package.json b/package.json index 67ba916..e6394d1 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "license": "ISC", "dependencies": { "iniparser": "^1.0.5", - "telegrambot": "0.0.11" + "node-telegram-bot-api": "^0.12.1", + "request": "^2.61.0" } }