mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Fixes
This commit is contained in:
@@ -122,6 +122,17 @@ var InternalClient = (function () {
|
||||
var _this = this,
|
||||
_arguments = arguments;
|
||||
|
||||
if (this.retryAfters[url]) {
|
||||
if (this.retryAfters[url] < Date.now()) {
|
||||
delete this.retryAfters[url];
|
||||
} else {
|
||||
return new Promise(function (resolve, reject) {
|
||||
setTimeout(function () {
|
||||
_this.apiRequest.apply(_this, _arguments).then(resolve)["catch"](reject);
|
||||
}, _this.retryAfters[url] - Date.now());
|
||||
});
|
||||
}
|
||||
}
|
||||
var ret = _superagent2["default"][method](url);
|
||||
if (useAuth) {
|
||||
ret.set("authorization", this.token);
|
||||
@@ -140,10 +151,10 @@ var InternalClient = (function () {
|
||||
|
||||
if (data.headers["retry-after"] || data.headers["Retry-After"]) {
|
||||
var toWait = data.headers["retry-after"] || data.headers["Retry-After"];
|
||||
toWait = parseInt(toWait);
|
||||
if (!_this.retryAfters[url]) _this.retryAfters[url] = Date.now() + parseInt(toWait);
|
||||
setTimeout(function () {
|
||||
_this.apiRequest.apply(_this, _arguments).then(resolve)["catch"](reject);
|
||||
}, toWait);
|
||||
}, _this.retryAfters[url] - Date.now());
|
||||
} else {
|
||||
return reject(error);
|
||||
}
|
||||
@@ -191,6 +202,7 @@ var InternalClient = (function () {
|
||||
this.resolver = new _ResolverResolver2["default"](this);
|
||||
this.readyTime = null;
|
||||
this.messageAwaits = {};
|
||||
this.retryAfters = {};
|
||||
|
||||
this.tokenCacher = new _UtilTokenCacher2["default"](this.client);
|
||||
this.tokenCacher.init(0);
|
||||
@@ -634,7 +646,7 @@ var InternalClient = (function () {
|
||||
|
||||
return this.apiRequest("post", _Constants.Endpoints.LOGOUT, true).then(function () {
|
||||
if (_this14.websocket) {
|
||||
_this14.websocket.close();
|
||||
_this14.websocket.close(1000);
|
||||
_this14.websocket = null;
|
||||
}
|
||||
_this14.token = null;
|
||||
@@ -1610,7 +1622,7 @@ var InternalClient = (function () {
|
||||
self.state = _ConnectionState2["default"].READY;
|
||||
|
||||
client.emit("debug", "ready packet took " + (Date.now() - startTime) + "ms to process");
|
||||
client.emit("debug", "ready with " + self.servers.length + " servers, " + self.channels.length + " channels and " + self.users.length + " users cached.");
|
||||
client.emit("debug", "ready with " + self.servers.length + " servers, " + self.unavailableServers.length + " unavailable servers, " + self.channels.length + " channels and " + self.users.length + " users cached.");
|
||||
|
||||
self.restartServerCreateTimeout();
|
||||
|
||||
@@ -1681,7 +1693,9 @@ var InternalClient = (function () {
|
||||
if (!server) {
|
||||
if (!data.unavailable) {
|
||||
server = self.servers.add(new _StructuresServer2["default"](data, client));
|
||||
client.emit("serverCreated", server);
|
||||
if (client.readyTime) {
|
||||
client.emit("serverCreated", server);
|
||||
}
|
||||
if (self.client.options.forceFetchUsers && server.large && server.members.length < server.memberCount) {
|
||||
self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000));
|
||||
}
|
||||
@@ -2116,7 +2130,7 @@ var InternalClient = (function () {
|
||||
|
||||
if (server) {
|
||||
|
||||
var testtime = new Date().getTime();
|
||||
var testtime = Date.now();
|
||||
|
||||
for (var _iterator11 = data.members, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
|
||||
var _ref11;
|
||||
@@ -2154,7 +2168,7 @@ var InternalClient = (function () {
|
||||
}
|
||||
}
|
||||
|
||||
client.emit("debug", new Date().getTime() - testtime + "ms for " + data.members.length + " user chunk for server with id " + server.id);
|
||||
client.emit("debug", Date.now() - testtime + "ms for " + data.members.length + " user chunk for server with id " + server.id);
|
||||
} else {
|
||||
client.emit("warn", "chunk update received but server not in cache");
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ var AudioEncoder = (function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
_this.volume = new _VolumeTransformer2["default"](options.volume);
|
||||
|
||||
var enc = _child_process2["default"].spawn(_this.getCommand(), ['-hide_banner', '-i', '-', '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
||||
var enc = _child_process2["default"].spawn(_this.getCommand(), ['-i', '-', '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
||||
|
||||
stream.pipe(enc.stdin);
|
||||
|
||||
@@ -128,7 +128,7 @@ var AudioEncoder = (function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
_this2.volume = new _VolumeTransformer2["default"](options.volume);
|
||||
|
||||
var enc = _child_process2["default"].spawn(_this2.getCommand(), ['-hide_banner', '-i', file, '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
||||
var enc = _child_process2["default"].spawn(_this2.getCommand(), ['-i', file, '-f', 's16le', '-ar', '48000', '-ss', options.seek || 0, '-ac', 2, 'pipe:1']);
|
||||
|
||||
var ffmpegErrors = "";
|
||||
|
||||
@@ -167,7 +167,7 @@ var AudioEncoder = (function () {
|
||||
_this3.volume = new _VolumeTransformer2["default"](1);
|
||||
|
||||
// add options discord.js needs
|
||||
var options = ffmpegOptions.concat(['-hide_banner', '-f', 's16le', '-ar', '48000', '-ac', 2, 'pipe:1']);
|
||||
var options = ffmpegOptions.concat(['-f', 's16le', '-ar', '48000', '-ac', 2, 'pipe:1']);
|
||||
var enc = _child_process2["default"].spawn(_this3.getCommand(), options);
|
||||
|
||||
var ffmpegErrors = "";
|
||||
|
||||
@@ -52,6 +52,17 @@ export default class InternalClient {
|
||||
}
|
||||
|
||||
apiRequest(method, url, useAuth, data, file) {
|
||||
if(this.retryAfters[url]) {
|
||||
if(this.retryAfters[url] < Date.now()) {
|
||||
delete this.retryAfters[url];
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
this.apiRequest.apply(this, arguments).then(resolve).catch(reject);
|
||||
}, this.retryAfters[url] - Date.now());
|
||||
});
|
||||
}
|
||||
}
|
||||
let ret = request[method](url);
|
||||
if (useAuth) {
|
||||
ret.set("authorization", this.token);
|
||||
@@ -75,10 +86,11 @@ export default class InternalClient {
|
||||
|
||||
if (data.headers["retry-after"] || data.headers["Retry-After"]) {
|
||||
var toWait = data.headers["retry-after"] || data.headers["Retry-After"];
|
||||
toWait = parseInt(toWait);
|
||||
if(!this.retryAfters[url])
|
||||
this.retryAfters[url] = Date.now() + parseInt(toWait);
|
||||
setTimeout(() => {
|
||||
this.apiRequest.apply(this, arguments).then(resolve).catch(reject);
|
||||
}, toWait);
|
||||
}, this.retryAfters[url] - Date.now());
|
||||
} else {
|
||||
return reject(error);
|
||||
}
|
||||
@@ -127,6 +139,7 @@ export default class InternalClient {
|
||||
this.resolver = new Resolver(this);
|
||||
this.readyTime = null;
|
||||
this.messageAwaits = {};
|
||||
this.retryAfters = {};
|
||||
|
||||
this.tokenCacher = new TokenCacher(this.client);
|
||||
this.tokenCacher.init(0);
|
||||
@@ -506,7 +519,7 @@ export default class InternalClient {
|
||||
return this.apiRequest("post", Endpoints.LOGOUT, true)
|
||||
.then(() => {
|
||||
if (this.websocket) {
|
||||
this.websocket.close();
|
||||
this.websocket.close(1000);
|
||||
this.websocket = null;
|
||||
}
|
||||
this.token = null;
|
||||
@@ -1365,7 +1378,7 @@ export default class InternalClient {
|
||||
self.state = ConnectionState.READY;
|
||||
|
||||
client.emit("debug", `ready packet took ${Date.now() - startTime}ms to process`);
|
||||
client.emit("debug", `ready with ${self.servers.length} servers, ${self.channels.length} channels and ${self.users.length} users cached.`);
|
||||
client.emit("debug", `ready with ${self.servers.length} servers, ${self.unavailableServers.length} unavailable servers, ${self.channels.length} channels and ${self.users.length} users cached.`);
|
||||
|
||||
self.restartServerCreateTimeout();
|
||||
|
||||
@@ -1434,7 +1447,9 @@ export default class InternalClient {
|
||||
if (!server) {
|
||||
if (!data.unavailable) {
|
||||
server = self.servers.add(new Server(data, client));
|
||||
client.emit("serverCreated", server);
|
||||
if(client.readyTime) {
|
||||
client.emit("serverCreated", server);
|
||||
}
|
||||
if (self.client.options.forceFetchUsers && server.large && server.members.length < server.memberCount) {
|
||||
self.getGuildMembers(server.id, Math.ceil(server.memberCount / 1000));
|
||||
}
|
||||
@@ -1824,7 +1839,7 @@ export default class InternalClient {
|
||||
|
||||
if (server) {
|
||||
|
||||
var testtime = new Date().getTime();
|
||||
var testtime = Date.now();
|
||||
|
||||
for (var user of data.members) {
|
||||
server.memberMap[user.user.id] = {
|
||||
@@ -1847,7 +1862,7 @@ export default class InternalClient {
|
||||
}
|
||||
}
|
||||
|
||||
client.emit("debug", (new Date().getTime() - testtime) + "ms for " + data.members.length + " user chunk for server with id " + server.id);
|
||||
client.emit("debug", (Date.now() - testtime) + "ms for " + data.members.length + " user chunk for server with id " + server.id);
|
||||
|
||||
} else {
|
||||
client.emit("warn", "chunk update received but server not in cache");
|
||||
|
||||
@@ -63,7 +63,6 @@ export default class AudioEncoder {
|
||||
this.volume = new VolumeTransformer(options.volume);
|
||||
|
||||
var enc = cpoc.spawn(this.getCommand(), [
|
||||
'-hide_banner',
|
||||
'-i', '-',
|
||||
'-f', 's16le',
|
||||
'-ar', '48000',
|
||||
@@ -110,7 +109,6 @@ export default class AudioEncoder {
|
||||
this.volume = new VolumeTransformer(options.volume);
|
||||
|
||||
var enc = cpoc.spawn(this.getCommand(), [
|
||||
'-hide_banner',
|
||||
'-i', file,
|
||||
'-f', 's16le',
|
||||
'-ar', '48000',
|
||||
@@ -155,7 +153,6 @@ export default class AudioEncoder {
|
||||
|
||||
// add options discord.js needs
|
||||
var options = ffmpegOptions.concat([
|
||||
'-hide_banner',
|
||||
'-f', 's16le',
|
||||
'-ar', '48000',
|
||||
'-ac', 2,
|
||||
|
||||
Reference in New Issue
Block a user