Commit 499b09cf3619670eec4e11c70c940d7370bb62b6
1 parent
c2ea0ef5a4
Exists in
master
disable some codes
Showing 1 changed file with 2 additions and 0 deletions Inline Diff
index.js
1 | var telegram = require('node-telegram-bot-api'); | 1 | var telegram = require('node-telegram-bot-api'); |
2 | var logger = require('./logger.js').start(); | 2 | var logger = require('./logger.js').start(); |
3 | var http = require('http'); | 3 | var http = require('http'); |
4 | var evo = require('./evo-im.js'); | 4 | var evo = require('./evo-im.js'); |
5 | 5 | ||
6 | var config = require('./config.json'); | 6 | var config = require('./config.json'); |
7 | 7 | ||
8 | evo.start({ | 8 | evo.start({ |
9 | config: config, | 9 | config: config, |
10 | logger: logger | 10 | logger: logger |
11 | }); | 11 | }); |
12 | 12 | ||
13 | var chat_ids = {}; | 13 | var chat_ids = {}; |
14 | 14 | ||
15 | var options = { | 15 | var options = { |
16 | webHook: { | 16 | webHook: { |
17 | port: config.webhook_port, | 17 | port: config.webhook_port, |
18 | key: __dirname+'/key.pem', | 18 | key: __dirname+'/key.pem', |
19 | cert: __dirname+'/crt.pem' | 19 | cert: __dirname+'/crt.pem' |
20 | } | 20 | } |
21 | }; | 21 | }; |
22 | 22 | ||
23 | var bot = new telegram(config.token, options); | 23 | var bot = new telegram(config.token, options); |
24 | bot.setWebHook(config.webhook_prefix + config.token, __dirname+'/crt.pem'); | 24 | bot.setWebHook(config.webhook_prefix + config.token, __dirname+'/crt.pem'); |
25 | 25 | ||
26 | function deleteChatId(from) { | 26 | function deleteChatId(from) { |
27 | delete chat_ids[from]; | 27 | delete chat_ids[from]; |
28 | } | 28 | } |
29 | 29 | ||
30 | function sendMessage(destination, message) { | 30 | function sendMessage(destination, message) { |
31 | logger.info('Sending reply to ' + destination + ': ' + message); | 31 | logger.info('Sending reply to ' + destination + ': ' + message); |
32 | var chat_id = chat_ids[destination]; | 32 | var chat_id = chat_ids[destination]; |
33 | bot.sendMessage(chat_id, message); | 33 | bot.sendMessage(chat_id, message); |
34 | } | 34 | } |
35 | 35 | ||
36 | /* | ||
36 | function createHttpResponseServer(){ | 37 | function createHttpResponseServer(){ |
37 | var httpServer = http.createServer(function(request,response){ | 38 | var httpServer = http.createServer(function(request,response){ |
38 | var qs = url.parse(request.url, true).query; | 39 | var qs = url.parse(request.url, true).query; |
39 | logger.info('Incoming request from SMSIN server:', {qs: qs}) | 40 | logger.info('Incoming request from SMSIN server:', {qs: qs}) |
40 | //logger.info(qs); | 41 | //logger.info(qs); |
41 | response.end('OK'); | 42 | response.end('OK'); |
42 | 43 | ||
43 | sendMessage(qs.PhoneNumber, qs.text); | 44 | sendMessage(qs.PhoneNumber, qs.text); |
44 | }); | 45 | }); |
45 | httpServer.listen(config.listen_port, function(){ | 46 | httpServer.listen(config.listen_port, function(){ |
46 | logger.info("listening on " + config.listen_port); | 47 | logger.info("listening on " + config.listen_port); |
47 | }) | 48 | }) |
48 | } | 49 | } |
49 | createHttpResponseServer(); | 50 | createHttpResponseServer(); |
51 | */ | ||
50 | 52 | ||
51 | bot.getMe().then(function (me) { | 53 | bot.getMe().then(function (me) { |
52 | logger.info('Hi my name is %s!', me.username); | 54 | logger.info('Hi my name is %s!', me.username); |
53 | }); | 55 | }); |
54 | 56 | ||
55 | bot.on('text', function (msg) { | 57 | bot.on('text', function (msg) { |
56 | logger.info(msg); | 58 | logger.info(msg); |
57 | 59 | ||
58 | var from = msg.from.username.toUpperCase() + config.msisdn_suffix; | 60 | var from = msg.from.username.toUpperCase() + config.msisdn_suffix; |
59 | 61 | ||
60 | var now = Math.floor(new Date().getTime()/1000); | 62 | var now = Math.floor(new Date().getTime()/1000); |
61 | 63 | ||
62 | if (now - msg.date > config.message_max_age){ | 64 | if (now - msg.date > config.message_max_age){ |
63 | var message = "Pesan anda diabaikan, silahkan diulang beberapa saat lagi jika diperlukan: " + msg.text; | 65 | var message = "Pesan anda diabaikan, silahkan diulang beberapa saat lagi jika diperlukan: " + msg.text; |
64 | logger.info(message, {msg: msg}) | 66 | logger.info(message, {msg: msg}) |
65 | //bot.sendMessage(msg.chat.id, message); | 67 | //bot.sendMessage(msg.chat.id, message); |
66 | sendMessage(from, message); | 68 | sendMessage(from, message); |
67 | return; | 69 | return; |
68 | } | 70 | } |
69 | 71 | ||
70 | chat_ids[from] = msg.chat.id; | 72 | chat_ids[from] = msg.chat.id; |
71 | 73 | ||
72 | var greeting_prefix = "Pesan anda telah diterima:"; | 74 | var greeting_prefix = "Pesan anda telah diterima:"; |
73 | if (config.greeting_prefix) { | 75 | if (config.greeting_prefix) { |
74 | greeting_prefix = config.greeting_prefix; | 76 | greeting_prefix = config.greeting_prefix; |
75 | } | 77 | } |
76 | 78 | ||
77 | bot.sendMessage(msg.chat.id, greeting_prefix + ' ' + msg.text); | 79 | bot.sendMessage(msg.chat.id, greeting_prefix + ' ' + msg.text); |
78 | setTimeout( | 80 | setTimeout( |
79 | evo.onMessage, | 81 | evo.onMessage, |
80 | 300, | 82 | 300, |
81 | from, msg.text, msg.date * 1000, sendMessage | 83 | from, msg.text, msg.date * 1000, sendMessage |
82 | ); | 84 | ); |
83 | }); | 85 | }); |
84 | 86 |