backend server.js: more graceful chat reconnect

This commit is contained in:
Astro 2011-12-27 15:51:49 +01:00
parent c18589a854
commit 9de16fff22
1 changed files with 14 additions and 5 deletions

View File

@ -54,22 +54,28 @@ connectNedap();
var IRC_SERVER = 'irc.hackint.eu';
var IRC_CHAN = '#pentanews';
var chat = new irc({ server: IRC_SERVER,
encoding: 'utf-8',
nick: '[Ceiling]Katze'
});
function connectChat() {
var chat = new irc({ server: IRC_SERVER,
encoding: 'utf-8',
nick: '[Ceiling]Katze'
});
chat.connect();
chat.addListener('376', function() {
if (!chat)
return;
chat.join(IRC_CHAN);
});
chat.addListener('366', function(msg) {
if (!chat)
return;
if (msg.params[1] === IRC_CHAN) {
console.log('Successfully joined ' + IRC_CHAN);
pushIrcInfo();
}
});
chat.addListener('privmsg', function(msg) {
if (!chat)
return;
console.log({PRIVMSG:msg});
var nick = msg.person.nick;
var channel = msg.params[0];
@ -88,8 +94,11 @@ function connectChat() {
}
});
chat.addListener('disconnected', function() {
if (!chat)
return;
chat = undefined;
console.error('Chat disconnected!');
process.nextTick(connectChat);
window.setTimeout(connectChat, 1000);
});
chat.on('error', connectChat);
}