Browse Source

Add a TimeoutError if VoiceClient.connect fails.

pull/204/head
Rapptz 9 years ago
parent
commit
701720a0f8
  1. 11
      discord/client.py
  2. 2
      discord/gateway.py

11
discord/client.py

@ -2450,7 +2450,16 @@ class Client:
}
voice = VoiceClient(**kwargs)
yield from voice.connect()
try:
yield from voice.connect()
except asyncio.TimeoutError as e:
try:
yield from voice.disconnect()
except:
# we don't care if disconnect failed because connection failed
pass
raise e # re-raise
self.connection._add_voice_client(server.id, voice)
return voice

2
discord/gateway.py

@ -553,7 +553,7 @@ class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
@asyncio.coroutine
def poll_event(self):
try:
msg = yield from self.recv()
msg = yield from asyncio.wait_for(self.recv(), timeout=30.0, loop=self.loop)
yield from self.received_message(json.loads(msg))
except websockets.exceptions.ConnectionClosed as e:
raise ConnectionClosed(e) from e

Loading…
Cancel
Save