UNPKG

squelch-client

Version:
49 lines (43 loc) 1.34 kB
// Generated by CoffeeScript 1.10.0 (function() { var Promise, getReplyCode, getSender; getSender = require('../../util').getSender; getReplyCode = require('../../replies').getReplyCode; Promise = require('bluebird'); module.exports = function() { return function(client) { client.nick = function(desiredNick) { if (desiredNick == null) { return this._.nick; } return this.raw("NICK " + desiredNick); }; return client._.internalEmitter.on('raw', function(reply) { var me, newNick, oldNick; if (reply.command === 'NICK') { oldNick = getSender(reply); newNick = reply.params[0]; me = oldNick === client.nick(); if (me) { client._.nick = newNick; } return client.emit('nick', { oldNick: oldNick, newNick: newNick, me: me }); } else if (reply.command === getReplyCode('ERR_NICKNAMEINUSE')) { if (client.isConnected()) { return; } if (client.opt.autoNickChange) { client._.numRetries++; return client.nick(client.opt.nick + client._.numRetries); } else { return client.disconnect(); } } }); }; }; }).call(this);