aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Berler <[email protected]>2015-12-27 01:14:16 -0800
committerSteven Berler <[email protected]>2015-12-27 01:16:52 -0800
commit57c3363119670e84d719d0703b672cb0743b252a (patch)
tree3630192f32081c0a57e45056e2eefcc98040b3d2
parentAdd missing argument in _rate_limit_helper (diff)
downloaddiscord.py-57c3363119670e84d719d0703b672cb0743b252a.tar.xz
discord.py-57c3363119670e84d719d0703b672cb0743b252a.zip
fix broken ip and port in voice client
Also added debug logging to make it easier to debug errors in how the initial packet is parsed.
-rw-r--r--discord/voice_client.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/discord/voice_client.py b/discord/voice_client.py
index ecbc4ee4..f2444130 100644
--- a/discord/voice_client.py
+++ b/discord/voice_client.py
@@ -210,16 +210,18 @@ class VoiceClient:
struct.pack_into('>I', packet, 0, self.ssrc)
self.socket.sendto(packet, (self.endpoint_ip, self.voice_port))
recv = yield from self.loop.sock_recv(self.socket, 70)
- self.ip = []
+ log.debug('received packet in initial_connection: {}'.format(recv))
+ ip = []
for x in range(4, len(recv)):
val = recv[x]
if val == 0:
break
- self.ip.append(str(val))
+ ip.append(chr(val))
- self.ip = '.'.join(self.ip)
- self.port = recv[len(recv) - 2] << 0 | recv[len(recv) - 1] << 1
+ self.ip = ''.join(ip)
+ self.port = recv[len(recv) - 2] | recv[len(recv) - 1] << 8
+ log.debug('detected ip: {} port: {}'.format(self.ip, self.port))
payload = {
'op': 1,