mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 20:43:30 +01:00
Add voice connection timeout
This commit is contained in:
@@ -367,11 +367,13 @@ var InternalClient = (function () {
|
|||||||
server = channel.server,
|
server = channel.server,
|
||||||
endpoint;
|
endpoint;
|
||||||
|
|
||||||
|
var timeout = null;
|
||||||
|
|
||||||
var check = function check(m) {
|
var check = function check(m) {
|
||||||
var data = JSON.parse(m);
|
var data = JSON.parse(m);
|
||||||
if (data.d.guild_id !== server.id) return; // ensure it is the right server
|
|
||||||
|
|
||||||
if (data.t === "VOICE_SERVER_UPDATE") {
|
if (data.t === "VOICE_SERVER_UPDATE") {
|
||||||
|
if (data.d.guild_id !== server.id) return; // ensure it is the right server
|
||||||
token = data.d.token;
|
token = data.d.token;
|
||||||
endpoint = data.d.endpoint;
|
endpoint = data.d.endpoint;
|
||||||
var chan = new _VoiceVoiceConnection2["default"](channel, _this5.client, session, token, server, endpoint);
|
var chan = new _VoiceVoiceConnection2["default"](channel, _this5.client, session, token, server, endpoint);
|
||||||
@@ -383,11 +385,18 @@ var InternalClient = (function () {
|
|||||||
chan.on("error", reject);
|
chan.on("error", reject);
|
||||||
chan.on("close", reject);
|
chan.on("close", reject);
|
||||||
|
|
||||||
_this5.client.emit("debug", "removed temporary voice websocket listeners");
|
if (timeout) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
}
|
||||||
_this5.websocket.removeListener("message", check);
|
_this5.websocket.removeListener("message", check);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
timeout = setTimeout(function () {
|
||||||
|
_this5.websocket.removeListener("message", check);
|
||||||
|
reject(new Error("No voice server details within 10 seconds"));
|
||||||
|
}, 10000);
|
||||||
|
|
||||||
_this5.websocket.on("message", check);
|
_this5.websocket.on("message", check);
|
||||||
joinSendWS();
|
joinSendWS();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -287,11 +287,13 @@ export default class InternalClient {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
var session = this.sessionID, token, server = channel.server, endpoint;
|
var session = this.sessionID, token, server = channel.server, endpoint;
|
||||||
|
|
||||||
|
var timeout = null;
|
||||||
|
|
||||||
var check = m => {
|
var check = m => {
|
||||||
var data = JSON.parse(m);
|
var data = JSON.parse(m);
|
||||||
if (data.d.guild_id !== server.id) return // ensure it is the right server
|
|
||||||
|
|
||||||
if (data.t === "VOICE_SERVER_UPDATE") {
|
if (data.t === "VOICE_SERVER_UPDATE") {
|
||||||
|
if (data.d.guild_id !== server.id) return // ensure it is the right server
|
||||||
token = data.d.token;
|
token = data.d.token;
|
||||||
endpoint = data.d.endpoint;
|
endpoint = data.d.endpoint;
|
||||||
var chan = new VoiceConnection(
|
var chan = new VoiceConnection(
|
||||||
@@ -303,11 +305,18 @@ export default class InternalClient {
|
|||||||
chan.on("error", reject);
|
chan.on("error", reject);
|
||||||
chan.on("close", reject);
|
chan.on("close", reject);
|
||||||
|
|
||||||
this.client.emit("debug", "removed temporary voice websocket listeners");
|
if(timeout) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
}
|
||||||
this.websocket.removeListener("message", check);
|
this.websocket.removeListener("message", check);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
timeout = setTimeout(() => {
|
||||||
|
this.websocket.removeListener("message", check);
|
||||||
|
reject(new Error("No voice server details within 10 seconds"));
|
||||||
|
}, 10000);
|
||||||
|
|
||||||
this.websocket.on("message", check);
|
this.websocket.on("message", check);
|
||||||
joinSendWS();
|
joinSendWS();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user