CIRCServer.onNick Member

Syntax

object.onNick(e);

Arguments

ArgumentSummary
e

Returns

Remarks

See Also

Source Code

function serv_nick (e)
{
var newNick = e.params[1];
var newKey = this.toLowerCase(newNick);
var oldKey = e.user.canonicalName;
var ev;
renameProperty (this.users, oldKey, newKey);
e.oldNick = e.user.unicodeName;
e.user.changeNick(toUnicode(newNick, this));
for (var c in this.channels)
{
if (this.channels[c].active &&
((oldKey in this.channels[c].users) || e.user == this.me))
{
var cuser = this.channels[c].users[oldKey];
renameProperty (this.channels[c].users, oldKey, newKey);
// User must be a channel user, update sort name for userlist,
// before we route the event further:
cuser.updateSortName();
ev = new CEvent ("channel", "nick", this.channels[c], "onNick");
ev.channel = this.channels[c];
ev.user = cuser;
ev.server = this;
ev.oldNick = e.oldNick;
this.parent.eventPump.routeEvent(ev);
}
}
if (e.user == this.me)
{
/* if it was me, tell the network about the nick change as well */
ev = new CEvent ("network", "nick", this.parent, "onNick");
ev.user = e.user;
ev.server = this;
ev.oldNick = e.oldNick;
this.parent.eventPump.routeEvent(ev);
}
e.destObject = e.user;
e.set = "user";
return true;
}