Commit 7c09ca68ee05ff670999d5ecdaac8c6886b77bcd

Authored by Adhidarma Hadiwinoto
1 parent 53b5c5b0e3
Exists in master

relogin fix

Showing 1 changed file with 29 additions and 4 deletions Side-by-side Diff

1 1 var YahooMessenger = require("yahoomessenger");
2 2 var striptags = require('striptags');
  3 +var sleep = require('sleep');
3 4 var db = require('./db.js');
4 5  
5 6 var oldMessages = [];
... ... @@ -31,7 +32,13 @@ function insertMessages(db_connection, logger_id, direction, partner, message, s
31 32 function pm(destination, message) {
32 33 logger.info("Sending to " + destination + ": " + message);
33 34  
34   - YahooMessenger.sendPM(destination, message);
  35 + try {
  36 + YahooMessenger.sendPM(destination, message);
  37 + }
  38 + catch (err) {
  39 + logger.info("Error sending message: " + err.message);
  40 + relogin();
  41 + }
35 42 }
36 43  
37 44  
... ... @@ -54,8 +61,14 @@ var keepAliveTimer;
54 61 var _keepAliveLoop = function() {
55 62 logger.info('Keep alive loop');
56 63  
57   - YahooMessenger.keepAlive();
58   - keepAliveLoop();
  64 + try {
  65 + YahooMessenger.keepAlive();
  66 + keepAliveLoop();
  67 + }
  68 + catch (err) {
  69 + logger.info("Error when sending keepalive: " + err.message);
  70 + relogin();
  71 + }
59 72 }
60 73  
61 74 function isAdmin(user) {
... ... @@ -75,12 +88,24 @@ function login(){
75 88  
76 89 function logout() {
77 90 logger.info("Logout from YM");
  91 +
78 92 clearTimeout(keepAliveTimer);
79   - YahooMessenger.logout();
  93 +
  94 + try {
  95 + YahooMessenger.logout();
  96 + }
  97 + catch(err) {
  98 + logger.info("Error on logout: " + err.message);
  99 + }
80 100 }
81 101  
82 102 function relogin() {
  103 + logger.info("Going to relogin");
83 104 logout();
  105 +
  106 + logger.info("Sleeping 5 seconds before login");
  107 + sleep.sleep(5);
  108 +
84 109 YahooMessenger.newInstance();
85 110 }
86 111