From f6ef4868d1b886cc851d2d237edc51f70c4d45c9 Mon Sep 17 00:00:00 2001 From: Jake Date: Mon, 13 Jun 2016 01:43:55 -0700 Subject: [PATCH] Fix concurrently joining more than one voice server at a time --- discord/client.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/discord/client.py b/discord/client.py index b7c5b802b..9ea3f20bd 100644 --- a/discord/client.py +++ b/discord/client.py @@ -2399,11 +2399,12 @@ class Client: def session_id_found(data): user_id = data.get('user_id') - return user_id == self.user.id + guild_id = data.get('guild_id') + return user_id == self.user.id and guild_id == server.id # register the futures for waiting session_id_future = self.ws.wait_for('VOICE_STATE_UPDATE', session_id_found) - voice_data_future = self.ws.wait_for('VOICE_SERVER_UPDATE', lambda d: True) + voice_data_future = self.ws.wait_for('VOICE_SERVER_UPDATE', lambda d: d.get('guild_id') == server.id) # request joining yield from self.ws.voice_state(server.id, channel.id)