mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 11:03:30 +01:00
Fix requests getting locked up in queues
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -39,7 +39,7 @@ class RESTManager {
|
|||||||
|
|
||||||
if (!this.handlers[apiRequest.getEndpoint()]) {
|
if (!this.handlers[apiRequest.getEndpoint()]) {
|
||||||
const RequestHandlerType = this.getRequestHandler();
|
const RequestHandlerType = this.getRequestHandler();
|
||||||
this.handlers[apiRequest.getEndpoint()] = new RequestHandlerType(this);
|
this.handlers[apiRequest.getEndpoint()] = new RequestHandlerType(this, apiRequest.getEndpoint());
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.push(this.handlers[apiRequest.getEndpoint()], apiRequest);
|
return this.push(this.handlers[apiRequest.getEndpoint()], apiRequest);
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ const RequestHandler = require('./RequestHandler');
|
|||||||
*/
|
*/
|
||||||
class SequentialRequestHandler extends RequestHandler {
|
class SequentialRequestHandler extends RequestHandler {
|
||||||
|
|
||||||
constructor(restManager) {
|
constructor(restManager, endpoint) {
|
||||||
super(restManager);
|
super(restManager, endpoint);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether this rate limiter is waiting for a response from a request
|
* Whether this rate limiter is waiting for a response from a request
|
||||||
@@ -18,6 +18,12 @@ class SequentialRequestHandler extends RequestHandler {
|
|||||||
*/
|
*/
|
||||||
this.waiting = false;
|
this.waiting = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The endpoint that this handler is handling
|
||||||
|
* @type {String}
|
||||||
|
*/
|
||||||
|
this.endpoint = endpoint;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The time difference between Discord's Dates and the local computer's Dates. A positive number means the local
|
* The time difference between Discord's Dates and the local computer's Dates. A positive number means the local
|
||||||
* computer's time is ahead of Discord's.
|
* computer's time is ahead of Discord's.
|
||||||
@@ -51,7 +57,7 @@ class SequentialRequestHandler extends RequestHandler {
|
|||||||
this.waiting = false;
|
this.waiting = false;
|
||||||
this.globalLimit = false;
|
this.globalLimit = false;
|
||||||
resolve();
|
resolve();
|
||||||
}, res.headers['retry-after'] + 500);
|
}, Number(res.headers['retry-after']) + 500);
|
||||||
if (res.headers['x-ratelimit-global']) {
|
if (res.headers['x-ratelimit-global']) {
|
||||||
this.globalLimit = true;
|
this.globalLimit = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,19 +177,13 @@ client.on('messageUpdate', (old, message) => {
|
|||||||
console.log('Message updated from', old.content, 'to', message.content);
|
console.log('Message updated from', old.content, 'to', message.content);
|
||||||
});
|
});
|
||||||
|
|
||||||
client.on('message', message => {
|
client.on('message', msg => {
|
||||||
if (message.content === '?perms?') {
|
if (msg.content.startsWith('yoing')) {
|
||||||
console.log(message.author.username, 'asked for perms in', message.channel.name, ':');
|
let startTime = Date.now();
|
||||||
console.log(message.channel.permissionsFor(message.author).serialize());
|
msg.channel.sendMessage("Let's see if this works")
|
||||||
} else if (message.content === '???test???') {
|
.then(message => {
|
||||||
message.channel.overwritePermissions('', {
|
let endTime = Date.now();
|
||||||
SEND_MESSAGES: false,
|
message.edit(`Ping took ${(endTime - startTime).toFixed(3)} ms. I think.`).catch(console.error);
|
||||||
})
|
}).catch(console.error);
|
||||||
.then(() => {
|
|
||||||
message.channel.overwritePermissions('', {
|
|
||||||
SEND_MESSAGES: true,
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(console.log);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user