Commit 0667ffd61b5aed0c0596d5d935f5254e3989a008

Authored by Adhidarma Hadiwinoto
1 parent 63e822b734
Exists in master

broadcastReport

Showing 2 changed files with 19 additions and 9 deletions Side-by-side Diff

... ... @@ -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;