From fe5c369fe9348b9d68aeab14949802fbd15ef46f Mon Sep 17 00:00:00 2001 From: Rapptz Date: Fri, 10 Jun 2016 21:45:42 -0400 Subject: [PATCH] Handle voice websocket closure if it's a successful close. --- discord/voice_client.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/discord/voice_client.py b/discord/voice_client.py index a49b3a350..6f62d4ef2 100644 --- a/discord/voice_client.py +++ b/discord/voice_client.py @@ -57,7 +57,7 @@ log = logging.getLogger(__name__) from . import utils, opus from .gateway import * -from .errors import ClientException, InvalidArgument +from .errors import ClientException, InvalidArgument, ConnectionClosed class StreamPlayer(threading.Thread): def __init__(self, stream, encoder, connected, player, after, **kwargs): @@ -233,7 +233,13 @@ class VoiceClient: Reads from the voice websocket while connected. """ while self._connected.is_set(): - yield from self.ws.poll_event() + try: + yield from self.ws.poll_event() + except ConnectionClosed as e: + if e.code == 1000: + break + else: + raise @asyncio.coroutine def disconnect(self):