mirror of
https://github.com/jlu5/PyLink.git
synced 2025-05-03 13:17:32 +02:00
clientbot: don't crash if we receive /who for someone we don't know
This commit is contained in:
parent
f1da5c57e8
commit
e566b99b75
@ -724,11 +724,15 @@ class ClientbotWrapperProtocol(Protocol):
|
|||||||
modes = set(c.modes)
|
modes = set(c.modes)
|
||||||
for user in users:
|
for user in users:
|
||||||
# Fill in prefix modes of everyone when doing mock SJOIN.
|
# Fill in prefix modes of everyone when doing mock SJOIN.
|
||||||
for mode in c.getPrefixModes(user):
|
try:
|
||||||
modechar = self.irc.cmodes.get(mode)
|
for mode in c.getPrefixModes(user):
|
||||||
log.debug('(%s) handle_315: adding mode %s +%s %s', self.irc.name, mode, modechar, user)
|
modechar = self.irc.cmodes.get(mode)
|
||||||
if modechar:
|
log.debug('(%s) handle_315: adding mode %s +%s %s', self.irc.name, mode, modechar, user)
|
||||||
modes.add((modechar, user))
|
if modechar:
|
||||||
|
modes.add((modechar, user))
|
||||||
|
except KeyError as e:
|
||||||
|
log.debug("(%s) Ignoring KeyError (%s) from WHO response; it's probably someone we "
|
||||||
|
"don't share any channels with", self.irc.name, e)
|
||||||
|
|
||||||
return {'channel': channel, 'users': users, 'modes': modes,
|
return {'channel': channel, 'users': users, 'modes': modes,
|
||||||
'parse_as': "JOIN"}
|
'parse_as': "JOIN"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user