3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-27 21:19:31 +01:00

hybrid: require caps EX IE SVS EOB HOPS QS TBURST SVS

This commit is contained in:
James Lu 2016-04-08 20:40:54 -07:00
parent 3dbae3b744
commit 5a6a6ca40e

View File

@ -82,7 +82,7 @@ class HybridProtocol(TS6Protocol):
# CHW: Allow sending messages to @#channel and the like.
# KNOCK: Support for /knock
# SVS: Deal with extended NICK/UID messages that contain service IDs/stamps
# TBURST: Topic Burst command; we send this in topicServer
# TBURST: Topic Burst command; we send this in topicBurst
# DLN: DLINE command
# UNDLN: UNDLINE command
# KLN: KLINE command
@ -166,11 +166,11 @@ class HybridProtocol(TS6Protocol):
def handle_capab(self, numeric, command, args):
# We only get a list of keywords here. Hybrid obviously assumes that
# we know what modes it supports (indeed, this is a standard list).
# <- CAPAB :BAN CHW CLUSTER ENCAP EOPMOD EUID EX IE KLN KNOCK MLOCK QS RSFNC SAVE SERVICES TB UNKLN
# <- CAPAB :UNDLN UNKLN KLN TBURST KNOCK ENCAP DLN IE EX HOPS CHW SVS CLUSTER EOB QS
self.irc.caps = caps = args[0].split()
# for required_cap in ('EUID', 'SAVE', 'TB', 'ENCAP', 'QS'):
# if required_cap not in caps:
# raise ProtocolError('%s not found in TS6 capabilities list; this is required! (got %r)' % (required_cap, caps))
for required_cap in ('EX', 'IE', 'SVS', 'EOB', 'HOPS', 'QS', 'TBURST', 'SVS'):
if required_cap not in caps:
raise ProtocolError('%s not found in TS6 capabilities list; this is required! (got %r)' % (required_cap, caps))
log.debug('(%s) self.irc.connected set!', self.irc.name)
self.irc.connected.set()