Fixed switching voice channels

This commit is contained in:
hydrabolt
2015-11-08 10:45:49 +00:00
parent 04c3dbedac
commit c5fe16af5b
5 changed files with 7 additions and 18 deletions

View File

@@ -70,29 +70,24 @@ class InternalClient {
self.leaveVoiceChannel().then(next);
function next(){
var session, token, server = channel.server, endpoint, fired = 0;
var session, token, server = channel.server, endpoint;
var check = (m) => {
var data = JSON.parse(m);
if(data.t === "VOICE_STATE_UPDATE"){
session = data.d.session_id;
fired++;
}else if(data.t === "VOICE_SERVER_UPDATE"){
token = data.d.token;
endpoint = data.d.endpoint;
fired++;
var chan = self.voiceConnection = new VoiceConnection(channel, self.client, session, token, server, endpoint);
chan.on("ready", resolve);
chan.on("error", reject);
}
if(fired >= 2){
self.client.emit("debug", "removed temporary voice websocket listeners");
self.websocket.removeListener('message', check);
self.websocket.removeListener("message", check);
}
};
self.websocket.on("message", check);