mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-27 21:19:31 +01:00
unreal: use an awful outFilter hack to convert PUIDs->nicks when sending outgoing commands
This commit is contained in:
parent
74ee1ded4d
commit
44dc856ffa
@ -18,9 +18,6 @@ from log import log
|
|||||||
from classes import *
|
from classes import *
|
||||||
from ts6_common import TS6BaseProtocol
|
from ts6_common import TS6BaseProtocol
|
||||||
|
|
||||||
def is_uid(s):
|
|
||||||
return s[0].isdigit()
|
|
||||||
|
|
||||||
class UnrealProtocol(TS6BaseProtocol):
|
class UnrealProtocol(TS6BaseProtocol):
|
||||||
def __init__(self, irc):
|
def __init__(self, irc):
|
||||||
super(UnrealProtocol, self).__init__(irc)
|
super(UnrealProtocol, self).__init__(irc)
|
||||||
@ -55,6 +52,26 @@ class UnrealProtocol(TS6BaseProtocol):
|
|||||||
# Toggle whether we're using super hack mode for Unreal 3.2 mixed links.
|
# Toggle whether we're using super hack mode for Unreal 3.2 mixed links.
|
||||||
self.mixed_link = self.irc.serverdata.get('mixed_link')
|
self.mixed_link = self.irc.serverdata.get('mixed_link')
|
||||||
|
|
||||||
|
def _send(self, source, msg):
|
||||||
|
"""
|
||||||
|
Sends a TS6-style raw command from a source numeric to the self.irc connection given.
|
||||||
|
|
||||||
|
This optionally provides the REALLY BAD HACK FOR UNREAL 3.2 SUPPORT edition, which
|
||||||
|
mangles message targets from pseudo UIDs to the target's nick.
|
||||||
|
"""
|
||||||
|
|
||||||
|
if self.mixed_link:
|
||||||
|
args = msg.split(" ")
|
||||||
|
|
||||||
|
for idx, arg in enumerate(args[:-1]):
|
||||||
|
# Look at every arg except the last one, which is usually message
|
||||||
|
# text or whatnot.
|
||||||
|
if arg in self.irc.users and '@' in arg:
|
||||||
|
args[idx] = self.irc.users[arg].nick
|
||||||
|
msg = ' '.join(args)
|
||||||
|
|
||||||
|
self.irc.send(':%s %s' % (source, msg))
|
||||||
|
|
||||||
### OUTGOING COMMAND FUNCTIONS
|
### OUTGOING COMMAND FUNCTIONS
|
||||||
def spawnClient(self, nick, ident='null', host='null', realhost=None, modes=set(),
|
def spawnClient(self, nick, ident='null', host='null', realhost=None, modes=set(),
|
||||||
server=None, ip='0.0.0.0', realname=None, ts=None, opertype='IRC Operator',
|
server=None, ip='0.0.0.0', realname=None, ts=None, opertype='IRC Operator',
|
||||||
@ -599,17 +616,6 @@ class UnrealProtocol(TS6BaseProtocol):
|
|||||||
# :70MAAAAAA NICK GL-devel 1434744242
|
# :70MAAAAAA NICK GL-devel 1434744242
|
||||||
super().handle_nick(numeric, command, args)
|
super().handle_nick(numeric, command, args)
|
||||||
|
|
||||||
'''
|
|
||||||
# NICK changed, rename the person in the users index accordingly.
|
|
||||||
oldnick = numeric
|
|
||||||
newnick = args[0]
|
|
||||||
if self.mixed_link and not oldnick[0].isdigit():
|
|
||||||
|
|
||||||
log.debug('(%s) got NICK change for legacy user: %s -> %s', self.irc.name, oldnick, newnick)
|
|
||||||
self.irc.users[newnick] = self.irc.users[oldnick]
|
|
||||||
del self.irc.users[oldnick]
|
|
||||||
'''
|
|
||||||
|
|
||||||
def handle_mode(self, numeric, command, args):
|
def handle_mode(self, numeric, command, args):
|
||||||
# <- :unreal.midnight.vpn MODE #test +bb test!*@* *!*@bad.net
|
# <- :unreal.midnight.vpn MODE #test +bb test!*@* *!*@bad.net
|
||||||
# <- :unreal.midnight.vpn MODE #test +q GL 1444361345
|
# <- :unreal.midnight.vpn MODE #test +q GL 1444361345
|
||||||
|
Loading…
Reference in New Issue
Block a user