mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 09:19:23 +01:00
protocols: move handlers for AWAY, VERSION, WHOIS, and QUIT to ircs2s_common
This commit is contained in:
parent
d91589c4da
commit
c04f9d1879
@ -77,3 +77,43 @@ class IRCS2SProtocol(Protocol):
|
|||||||
|
|
||||||
return {'target': split_server, 'users': affected_users, 'name': sname,
|
return {'target': split_server, 'users': affected_users, 'name': sname,
|
||||||
'uplink': uplink}
|
'uplink': uplink}
|
||||||
|
|
||||||
|
def handle_away(self, numeric, command, args):
|
||||||
|
"""Handles incoming AWAY messages."""
|
||||||
|
# TS6:
|
||||||
|
# <- :6ELAAAAAB AWAY :Auto-away
|
||||||
|
# P10:
|
||||||
|
# <- ABAAA A :blah
|
||||||
|
# <- ABAAA A
|
||||||
|
try:
|
||||||
|
self.irc.users[numeric].away = text = args[0]
|
||||||
|
except IndexError: # User is unsetting away status
|
||||||
|
self.irc.users[numeric].away = text = ''
|
||||||
|
return {'text': text}
|
||||||
|
|
||||||
|
def handle_version(self, numeric, command, args):
|
||||||
|
"""Handles requests for the PyLink server version."""
|
||||||
|
return {} # See coremods/handlers.py for how this hook is used
|
||||||
|
|
||||||
|
def handle_whois(self, numeric, command, args):
|
||||||
|
"""Handles incoming WHOIS commands.."""
|
||||||
|
# TS6:
|
||||||
|
# <- :42XAAAAAB WHOIS 5PYAAAAAA :pylink-devel
|
||||||
|
# P10:
|
||||||
|
# <- ABAAA W Ay :PyLink-devel
|
||||||
|
|
||||||
|
# First argument is the server that should reply to the WHOIS request
|
||||||
|
# or the server hosting the UID given. We can safely assume that any
|
||||||
|
# WHOIS commands received are for us, since we don't host any real servers
|
||||||
|
# to route it to.
|
||||||
|
|
||||||
|
return {'target': self._getUid(args[-1])}
|
||||||
|
|
||||||
|
def handle_quit(self, numeric, command, args):
|
||||||
|
"""Handles incoming QUIT commands."""
|
||||||
|
# TS6:
|
||||||
|
# <- :1SRAAGB4T QUIT :Quit: quit message goes here
|
||||||
|
# P10:
|
||||||
|
# <- ABAAB Q :Killed (GL_ (bangbang))
|
||||||
|
self.removeClient(numeric)
|
||||||
|
return {'text': args[0]}
|
||||||
|
@ -1175,12 +1175,6 @@ class P10Protocol(IRCS2SProtocol):
|
|||||||
self.handle_part(kicked, 'KICK', [channel, args[2]])
|
self.handle_part(kicked, 'KICK', [channel, args[2]])
|
||||||
return {'channel': channel, 'target': kicked, 'text': args[2]}
|
return {'channel': channel, 'target': kicked, 'text': args[2]}
|
||||||
|
|
||||||
def handle_quit(self, numeric, command, args):
|
|
||||||
"""Handles incoming QUITs."""
|
|
||||||
# <- ABAAB Q :Killed (GL_ (bangbang))
|
|
||||||
self.removeClient(numeric)
|
|
||||||
return {'text': args[0]}
|
|
||||||
|
|
||||||
def handle_topic(self, source, command, args):
|
def handle_topic(self, source, command, args):
|
||||||
"""Handles TOPIC changes."""
|
"""Handles TOPIC changes."""
|
||||||
# <- ABAAA T #test GL!~gl@nefarious.midnight.vpn 1460852591 1460855795 :blah
|
# <- ABAAA T #test GL!~gl@nefarious.midnight.vpn 1460852591 1460855795 :blah
|
||||||
@ -1206,22 +1200,6 @@ class P10Protocol(IRCS2SProtocol):
|
|||||||
|
|
||||||
return {'target': target, 'channel': channel}
|
return {'target': target, 'channel': channel}
|
||||||
|
|
||||||
def handle_away(self, numeric, command, args):
|
|
||||||
"""Handles incoming AWAY messages."""
|
|
||||||
# <- ABAAA A :blah
|
|
||||||
# <- ABAAA A
|
|
||||||
try:
|
|
||||||
self.irc.users[numeric].away = text = args[0]
|
|
||||||
except IndexError: # User is unsetting away status
|
|
||||||
self.irc.users[numeric].away = text = ''
|
|
||||||
|
|
||||||
return {'text': text}
|
|
||||||
|
|
||||||
def handle_whois(self, numeric, command, args):
|
|
||||||
"""Handles incoming WHOIS requests."""
|
|
||||||
# <- ABAAA W Ay :PyLink-devel
|
|
||||||
return {'target': self._getUid(args[-1])}
|
|
||||||
|
|
||||||
def handle_clearmode(self, numeric, command, args):
|
def handle_clearmode(self, numeric, command, args):
|
||||||
"""Handles CLEARMODE, which is used to clear a channel's modes."""
|
"""Handles CLEARMODE, which is used to clear a channel's modes."""
|
||||||
# <- ABAAA CM #test ovpsmikbl
|
# <- ABAAA CM #test ovpsmikbl
|
||||||
@ -1303,9 +1281,4 @@ class P10Protocol(IRCS2SProtocol):
|
|||||||
self.checkCloakChange(target)
|
self.checkCloakChange(target)
|
||||||
# We don't need to send any hooks here, checkCloakChange does that for us.
|
# We don't need to send any hooks here, checkCloakChange does that for us.
|
||||||
|
|
||||||
def handle_version(self, numeric, command, args):
|
|
||||||
# <- ABAAA V :Ay
|
|
||||||
"""Handles requests for the PyLink server version."""
|
|
||||||
return {} # See coreplugin.py for how this hook is used
|
|
||||||
|
|
||||||
Class = P10Protocol
|
Class = P10Protocol
|
||||||
|
@ -388,12 +388,6 @@ class TS6BaseProtocol(IRCS2SProtocol):
|
|||||||
|
|
||||||
return {'newnick': newnick, 'oldnick': oldnick, 'ts': ts}
|
return {'newnick': newnick, 'oldnick': oldnick, 'ts': ts}
|
||||||
|
|
||||||
def handle_quit(self, numeric, command, args):
|
|
||||||
"""Handles incoming QUIT commands."""
|
|
||||||
# <- :1SRAAGB4T QUIT :Quit: quit message goes here
|
|
||||||
self.removeClient(numeric)
|
|
||||||
return {'text': args[0]}
|
|
||||||
|
|
||||||
def handle_save(self, numeric, command, args):
|
def handle_save(self, numeric, command, args):
|
||||||
"""Handles incoming SAVE messages, used to handle nick collisions."""
|
"""Handles incoming SAVE messages, used to handle nick collisions."""
|
||||||
# In this below example, the client Derp_ already exists,
|
# In this below example, the client Derp_ already exists,
|
||||||
@ -446,27 +440,3 @@ class TS6BaseProtocol(IRCS2SProtocol):
|
|||||||
if not (self.irc.channels[channel].users or ((self.irc.cmodes.get('permanent'), None) in self.irc.channels[channel].modes)):
|
if not (self.irc.channels[channel].users or ((self.irc.cmodes.get('permanent'), None) in self.irc.channels[channel].modes)):
|
||||||
del self.irc.channels[channel]
|
del self.irc.channels[channel]
|
||||||
return {'channels': channels, 'text': reason}
|
return {'channels': channels, 'text': reason}
|
||||||
|
|
||||||
def handle_away(self, numeric, command, args):
|
|
||||||
"""Handles incoming AWAY messages."""
|
|
||||||
# <- :6ELAAAAAB AWAY :Auto-away
|
|
||||||
try:
|
|
||||||
self.irc.users[numeric].away = text = args[0]
|
|
||||||
except IndexError: # User is unsetting away status
|
|
||||||
self.irc.users[numeric].away = text = ''
|
|
||||||
return {'text': text}
|
|
||||||
|
|
||||||
def handle_version(self, numeric, command, args):
|
|
||||||
"""Handles requests for the PyLink server version."""
|
|
||||||
return {} # See coremods/handlers.py for how this hook is used
|
|
||||||
|
|
||||||
def handle_whois(self, numeric, command, args):
|
|
||||||
"""Handles incoming WHOIS commands.."""
|
|
||||||
# <- :42XAAAAAB WHOIS 5PYAAAAAA :pylink-devel
|
|
||||||
|
|
||||||
# First argument is the server that should reply to the WHOIS request
|
|
||||||
# or the server hosting the UID given. We can safely assume that any
|
|
||||||
# WHOIS commands received are for us, since we don't host any real servers
|
|
||||||
# to route it to.
|
|
||||||
|
|
||||||
return {'target': self._getUid(args[-1])}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user