Commit 1075631ae9f254b5d06d31d674d127c92e0bc4de
1 parent
0385eb763f
Exists in
master
ready to rocks
Showing 3 changed files with 39 additions and 2 deletions Side-by-side Diff
.gitignore
index.js
... | ... | @@ -3,9 +3,28 @@ var http = require('http'); |
3 | 3 | var url = require('url'); |
4 | 4 | var fs = require('fs'); |
5 | 5 | var ini = require('ini'); |
6 | +var strftime = require('strftime'); | |
6 | 7 | var xmpp = require('simple-xmpp'); |
7 | 8 | var winston = require('winston'); |
8 | 9 | |
10 | +var warming_up = true; | |
11 | + | |
12 | +var logger = new (winston.Logger)({ | |
13 | + transports: [ | |
14 | + new (winston.transports.Console)({ | |
15 | + timestamp: function() { | |
16 | + return strftime('%F %T', new Date()); | |
17 | + } | |
18 | + }), | |
19 | + new (winston.transports.DailyRotateFile)({ | |
20 | + filename: 'log', | |
21 | + timestamp: function() { | |
22 | + return strftime('%F %T', new Date()); | |
23 | + } | |
24 | + }) | |
25 | + ] | |
26 | +}); | |
27 | + | |
9 | 28 | var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8')); |
10 | 29 | |
11 | 30 | function createHttpListener() { |
... | ... | @@ -25,7 +44,7 @@ function createHttpListener() { |
25 | 44 | } |
26 | 45 | |
27 | 46 | function sendMessage(destination, message) { |
28 | - logger.info('Sending message', {destination: destination, message: message}); | |
47 | + logger.info('Sending xmpp message', {destination: destination, message: message}); | |
29 | 48 | xmpp.send(destination, message); |
30 | 49 | } |
31 | 50 | |
... | ... | @@ -51,10 +70,26 @@ function reportToSMSIN(from, message) { |
51 | 70 | xmpp.on('online', function(data) { |
52 | 71 | logger.info('XMPP online', {data: data}); |
53 | 72 | logger.info('Connected with JID: ' + data.jid.user); |
73 | + | |
74 | + setTimeout(function() { | |
75 | + warming_up = false; | |
76 | + logger.info('BOT selesai warming up, pesan-pesan selanjutnya akan diproses'); | |
77 | + }, config.globals.warming_up); | |
54 | 78 | }); |
55 | 79 | |
56 | 80 | xmpp.on('chat', function(from, message) { |
57 | 81 | logger.info('Incoming message via XMPP ', {from: from, message: message}); |
82 | + | |
83 | + if (warming_up) { | |
84 | + logger.info('BOT masih dalam tahap warming up, abaikan pesan'); | |
85 | + var response_message = 'Pesan diabaikan. Silahkan diulang kembali: ' + message; | |
86 | + sendMessage(from, response_message); | |
87 | + return; | |
88 | + } | |
89 | + | |
90 | + var response_message = 'Pesan anda telah diterima dan akan segera diproses: ' + message; | |
91 | + sendMessage(from, response_message); | |
92 | + | |
58 | 93 | reportToSMSIN(from, message); |
59 | 94 | }); |
60 | 95 |