diff --git a/ircbot.py b/ircbot.py index 1a0e66d..8dc3a49 100644 --- a/ircbot.py +++ b/ircbot.py @@ -238,7 +238,12 @@ class ServerThread(threading.Thread): if fd == self.server_socket.fileno(): # Ready to receive, read into buffer and handle full messages if event | select.POLLIN: - data = self.server_socket.recv(1024) + try: + data = self.server_socket.recv(1024) + except ConnectionResetError: + self.logging_channel.send((logmessage_types.internal, internal_submessage_types.error, 'Connection reset while reading')) + reconnecting = True + break # No data to be read even as POLLIN triggered → connection has broken # Log it and try reconnecting