removes the leading character on a NICK message, only if it's a : to deal with non-conforming IRCd's

This commit is contained in:
John Maguire 2013-03-21 01:53:11 -04:00
parent 8d8cf2bd9a
commit ffeb42dde3

View File

@ -55,7 +55,9 @@ var users = function(dbot) {
channelUsers.push(nick); channelUsers.push(nick);
} }
} else if(event.action == 'NICK') { } else if(event.action == 'NICK') {
var newNick = event.params.substr(1); // remove the first character from the NICK message if it is a :,
// due to some IRCd's disregarding RFC 1459 and adding a :
var newNick = (event.params[0] == ":" ? event.params.substr(1) : event.params);
if(!this.api.isKnownUser(newNick)) { if(!this.api.isKnownUser(newNick)) {
knownUsers.aliases[newNick] = this.api.resolveUser(event.server, event.user); knownUsers.aliases[newNick] = this.api.resolveUser(event.server, event.user);
dbot.api.event.emit('nick_change', [ event.server, newNick ]); dbot.api.event.emit('nick_change', [ event.server, newNick ]);