mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-23 19:19:31 +01:00
relay_clientbot: normalize sender names to the senders' home networks
This should work for most messages, except NICK changes and MODE targets.
This commit is contained in:
parent
50e9d2d959
commit
1c0ea24acd
@ -110,8 +110,19 @@ def cb_relay_core(irc, source, command, args):
|
|||||||
except (AttributeError, KeyError):
|
except (AttributeError, KeyError):
|
||||||
return
|
return
|
||||||
|
|
||||||
log.debug('(%s) relay_cb_core: Original sender found as %s', irc.name, origuser)
|
|
||||||
sourcenet, realsource = origuser
|
sourcenet, realsource = origuser
|
||||||
|
log.debug('(%s) relay_cb_core: Original sender found as %s', irc.name, origuser)
|
||||||
|
if 'newnick' not in args: # XXX: we can't really normalize sender names for nick changes, because we'll always see the new nick
|
||||||
|
try:
|
||||||
|
sourcename = world.networkobjects[sourcenet].get_friendly_name(realsource)
|
||||||
|
except LookupError:
|
||||||
|
# Fallbacks for users that have just quit / servers that have just split
|
||||||
|
if args.get('serverdata'):
|
||||||
|
sourcename = args['serverdata'].name
|
||||||
|
elif args.get('userdata'):
|
||||||
|
sourcename = args['userdata'].nick
|
||||||
|
else:
|
||||||
|
log.debug('(%s) relay_cb_core: could not get original name of sender %s/%s', irc.name, realsource, sourcenet, exc_info=True)
|
||||||
|
|
||||||
try: # Try to get the full network name
|
try: # Try to get the full network name
|
||||||
netname = conf.conf['servers'][sourcenet]['netname']
|
netname = conf.conf['servers'][sourcenet]['netname']
|
||||||
@ -143,9 +154,9 @@ def cb_relay_core(irc, source, command, args):
|
|||||||
identhost = ''
|
identhost = ''
|
||||||
if source in irc.users:
|
if source in irc.users:
|
||||||
try:
|
try:
|
||||||
identhost = irc.get_hostmask(source).split('!')[-1]
|
identhost = irc.get_hostmask(source).split('!', 1)[-1]
|
||||||
except KeyError: # User got removed due to quit
|
except KeyError: # User got removed due to quit
|
||||||
identhost = '%s@%s' % (args['olduser'].ident, args['olduser'].host)
|
identhost = '%s@%s' % (args['userdata'].ident, args['userdata'].host)
|
||||||
# This is specifically spaced so that ident@host is only shown for users that have
|
# This is specifically spaced so that ident@host is only shown for users that have
|
||||||
# one, and not servers.
|
# one, and not servers.
|
||||||
identhost = ' (%s)' % identhost
|
identhost = ' (%s)' % identhost
|
||||||
|
Loading…
Reference in New Issue
Block a user