From c6cd4e41f337d177fcd86d68ae499f96a7bc6460 Mon Sep 17 00:00:00 2001 From: zhoushuo19 Date: Sat, 17 May 2025 11:53:59 +0800 Subject: [PATCH] Fix WebSocketClient close: tolerate WS_SEND broken pipe error --- discord/gateway.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/discord/gateway.py b/discord/gateway.py index b52881af3154..fe7451983c36 100644 --- a/discord/gateway.py +++ b/discord/gateway.py @@ -861,7 +861,13 @@ async def close(self, code: int = 4000, reason: bytes = b'') -> None: self._keep_alive = None self._close_code = code - await self.socket.close(code, reason) + try: + await self.socket.close(code, reason) + except CurlError as e: + if 'WS_SEND' in str(e) and 'Broken pipe' in str(e): + pass + else: + raise _log.info('Finished closing websocket')