mirror of
https://github.com/jlu5/PyLink.git
synced 2025-01-27 12:44:16 +01:00
relay: rename nick_collide() to forcetag_nick()
This commit is contained in:
parent
20b3a61cd6
commit
57faa1443a
@ -2100,20 +2100,37 @@ def handle_disconnect(irc, numeric, command, args):
|
|||||||
|
|
||||||
utils.add_hook(handle_disconnect, "PYLINK_DISCONNECT")
|
utils.add_hook(handle_disconnect, "PYLINK_DISCONNECT")
|
||||||
|
|
||||||
def nick_collide(irc, target):
|
def forcetag_nick(irc, target):
|
||||||
"""
|
"""
|
||||||
Handles nick collisions on relay clients and attempts to fix nicks.
|
Force tags the target UID's nick, if it is a relay client.
|
||||||
"""
|
|
||||||
remotenet, remoteuser = get_orig_user(irc, target)
|
|
||||||
remoteirc = world.networkobjects[remotenet]
|
|
||||||
|
|
||||||
|
This method is used to handle nick collisions between relay clients and outside ones.
|
||||||
|
|
||||||
|
Returns the new nick if the operation succeeded; otherwise returns False.
|
||||||
|
"""
|
||||||
|
remote = get_orig_user(irc, target)
|
||||||
|
if remote is None:
|
||||||
|
return False
|
||||||
|
|
||||||
|
remotenet, remoteuser = remote
|
||||||
|
try:
|
||||||
|
remoteirc = world.networkobjects[remotenet]
|
||||||
nick = remoteirc.users[remoteuser].nick
|
nick = remoteirc.users[remoteuser].nick
|
||||||
|
except KeyError:
|
||||||
|
return False
|
||||||
|
|
||||||
# Force a tagged nick by setting times_tagged to 1.
|
# Force a tagged nick by setting times_tagged to 1.
|
||||||
newnick = normalize_nick(irc, remotenet, nick, times_tagged=1)
|
newnick = normalize_nick(irc, remotenet, nick, times_tagged=1)
|
||||||
log.debug('(%s) relay.nick_collide: Fixing nick of relay client %r (%s) to %s',
|
log.debug('(%s) relay.forcetag_nick: Fixing nick of relay client %r (%s) to %s',
|
||||||
irc.name, target, nick, newnick)
|
irc.name, target, nick, newnick)
|
||||||
|
|
||||||
|
if nick == newnick:
|
||||||
|
log.debug('(%s) relay.forcetag_nick: New nick %s for %r matches old nick %s',
|
||||||
|
irc.name, newnick, target, nick)
|
||||||
|
return False
|
||||||
|
|
||||||
irc.nick(target, newnick)
|
irc.nick(target, newnick)
|
||||||
|
return newnick
|
||||||
|
|
||||||
def handle_save(irc, numeric, command, args):
|
def handle_save(irc, numeric, command, args):
|
||||||
target = args['target']
|
target = args['target']
|
||||||
@ -2122,7 +2139,7 @@ def handle_save(irc, numeric, command, args):
|
|||||||
# Nick collision!
|
# Nick collision!
|
||||||
# It's one of our relay clients; try to fix our nick to the next
|
# It's one of our relay clients; try to fix our nick to the next
|
||||||
# available normalized nick.
|
# available normalized nick.
|
||||||
nick_collide(irc, target)
|
forcetag_nick(irc, target)
|
||||||
else:
|
else:
|
||||||
# Somebody else on the network (not a PyLink client) had a nick collision;
|
# Somebody else on the network (not a PyLink client) had a nick collision;
|
||||||
# relay this as a nick change appropriately.
|
# relay this as a nick change appropriately.
|
||||||
@ -2137,7 +2154,7 @@ def handle_svsnick(irc, numeric, command, args):
|
|||||||
target = args['target']
|
target = args['target']
|
||||||
|
|
||||||
if is_relay_client(irc, target):
|
if is_relay_client(irc, target):
|
||||||
nick_collide(irc, target)
|
forcetag_nick(irc, target)
|
||||||
|
|
||||||
utils.add_hook(handle_svsnick, "SVSNICK")
|
utils.add_hook(handle_svsnick, "SVSNICK")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user