Commit 0667ffd61b5aed0c0596d5d935f5254e3989a008
1 parent
63e822b734
Exists in
master
broadcastReport
Showing 2 changed files with 19 additions and 9 deletions Side-by-side Diff
index.js
... | ... | @@ -42,8 +42,8 @@ router.post('/status', function(request, response) { |
42 | 42 | } |
43 | 43 | response.end('Ok'); |
44 | 44 | |
45 | - config.yahoomessenger.status = request.body.status; | |
46 | - YahooMessenger.setCustomAwayStatus(config.yahoomessenger.status); | |
45 | + broadcastReport('Request come from HTTP to set status to: ' + request.body.status); | |
46 | + ym.setStatus(request.body.status); | |
47 | 47 | }); |
48 | 48 | |
49 | 49 | router.get('/relogin/:apikey', function(request, response) { |
... | ... | @@ -56,6 +56,10 @@ function broadcast(destinations, message, exclude) { |
56 | 56 | } |
57 | 57 | } |
58 | 58 | |
59 | +function broadcastReport(message) { | |
60 | + broadcast(config.yahoomessenger.report_to, message); | |
61 | +}; | |
62 | + | |
59 | 63 | var keepAliveTimer; |
60 | 64 | |
61 | 65 | var _keepAliveLoop = function() { |
... | ... | @@ -81,6 +85,11 @@ function keepAliveLoop() { |
81 | 85 | keepAliveTimer = setTimeout(_keepAliveLoop, config.yahoomessenger.keepalive_interval * 1000); |
82 | 86 | } |
83 | 87 | |
88 | +function setStatus(newStatus) { | |
89 | + config.yahoomessenger.status = newStatus; | |
90 | + YahooMessenger.setCustomAwayStatus(config.yahoomessenger.status); | |
91 | +} | |
92 | + | |
84 | 93 | function login(){ |
85 | 94 | logger.info("Login to YM as " + config.yahoomessenger.username + '(' + config.yahoomessenger.password + ')') |
86 | 95 | YahooMessenger.login(config.yahoomessenger.username, config.yahoomessenger.password); |
... | ... | @@ -125,7 +134,7 @@ function start(_config, _logger) { |
125 | 134 | YahooMessenger.setCustomAwayStatus(config.yahoomessenger.status); |
126 | 135 | }; |
127 | 136 | |
128 | - broadcast(config.yahoomessenger.report_to, config.yahoomessenger.report_message); | |
137 | + broadcastReport(config.yahoomessenger.report_message); | |
129 | 138 | keepAliveLoop(); |
130 | 139 | } |
131 | 140 | |
... | ... | @@ -218,8 +227,9 @@ function start(_config, _logger) { |
218 | 227 | } |
219 | 228 | else if (message.indexOf('!relogin') == 0) { |
220 | 229 | |
221 | - broadcast(config.yahoomessenger.report_to, 'relogin requested by ' + data.sender); | |
222 | - logger.info('Relogin request by pm'); | |
230 | + broadcastReport('relogin requested by ' + data.sender); | |
231 | + logger.info('Relogin request by pm, executing on 10 secs'); | |
232 | + sleep.sleep(10); | |
223 | 233 | relogin(); |
224 | 234 | |
225 | 235 | } |
... | ... | @@ -229,10 +239,8 @@ function start(_config, _logger) { |
229 | 239 | |
230 | 240 | var newStatus = message.replace('!setstatus', '').trim(); |
231 | 241 | |
232 | - broadcast(config.yahoomessenger.report_to, 'Set new status requested by ' + data.sender + ': ' + newStatus); | |
233 | - config.yahoomessenger.status = newStatus; | |
234 | - YahooMessenger.setCustomAwayStatus(config.yahoomessenger.status); | |
235 | - | |
242 | + broadcastReport('Set new status requested by ' + data.sender + ': ' + newStatus); | |
243 | + setStatus(newStatus); | |
236 | 244 | } |
237 | 245 | else if (message.indexOf('!ping') == 0) { |
238 | 246 | |
... | ... | @@ -267,6 +275,8 @@ function start(_config, _logger) { |
267 | 275 | |
268 | 276 | exports.start = start; |
269 | 277 | exports.broadcast = broadcast; |
278 | +exports.broadcastReport = broadcastReport; | |
270 | 279 | exports.pm = pm; |
271 | 280 | exports.logout = logout; |
272 | 281 | exports.relogin = relogin; |
282 | +exports.setStatus = setStatus; |