bring back old nickserv-based auth checking

This commit is contained in:
unek
2014-05-07 08:42:31 +02:00
parent 4bb168facf
commit 22d2d7fa06
+21 -3
View File
@@ -76,9 +76,27 @@ var client = new irc.Client(settings.connection.host, settings.login.nickname, {
// gets user's login status
irc.Client.prototype.isIdentified = function(nickname, callback) {
this.whois(nickname, function(reply) {
callback(!!reply.account);
});
// request login status
this.say('NickServ', 'ACC ' + nickname);
// wait for response
var listener = function(from, to, message) {
// proceed only on NickServ's ACC response
var regexp = new RegExp('^(\\S+) ACC (\\d)');
if(from != undefined && from.toLowerCase() == 'nickserv' && regexp.test(message)) {
var match = message.match(regexp);
var user = match[1];
var level = match[2];
// if the right response, call the callback and remove this listener
if(user.toLowerCase() == nickname.toLowerCase()) {
callback(level == 3);
this.removeListener('notice', listener);
}
}
}
this.addListener('notice', listener);
}
irc.Client.prototype.getNames = function(channel, callback) {