Parcourir la source

Gracefully handle channel bans and other join errors

master
JustAnotherArchivist il y a 2 ans
Parent
révision
86301905a6
1 fichiers modifiés avec 6 ajouts et 2 suppressions
  1. +6
    -2
      http2irc.py

+ 6
- 2
http2irc.py Voir le fichier

@@ -655,8 +655,12 @@ class IRCClientProtocol(asyncio.Protocol):
ircstates.numerics.ERR_BANNEDFROMCHAN,
ircstates.numerics.ERR_BADCHANNELKEY,
):
self.logger.error(f'Failed to join channel: {message!r}, terminating connection')
self.transport.close()
self.logger.error(f'Failed to join channel {line.params[1]}: {message!r}')
errChannel = self.server.casefold(line.params[1])
for channel in self.channels:
if self.server.casefold(channel) == errChannel:
self.channels.remove(channel)
break

# PART errors
elif line.command == '442':


Chargement…
Annuler
Enregistrer