Browse Source

Gracefully handle channel bans and other join errors

master
JustAnotherArchivist 2 years ago
parent
commit
86301905a6
1 changed files with 6 additions and 2 deletions
  1. +6
    -2
      http2irc.py

+ 6
- 2
http2irc.py View File

@@ -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':


Loading…
Cancel
Save