aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http2irc.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/http2irc.py b/http2irc.py
index 31ae084..6ce47a6 100644
--- a/http2irc.py
+++ b/http2irc.py
@@ -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':