fix: don't reset ws.processQueue counter on every new loop

This commit is contained in:
ITOH
2021-04-15 09:14:40 +02:00
parent 6d497b1277
commit f3f7eacc1c
3 changed files with 9 additions and 9 deletions

View File

@@ -8,8 +8,6 @@ export async function processQueue(id: number) {
shard.processingQueue = true;
let counter = 0;
while (shard.queue.length) {
if (shard.ws.readyState !== WebSocket.OPEN) {
shard.processingQueue = false;
@@ -19,7 +17,7 @@ export async function processQueue(id: number) {
const now = Date.now();
if (now - shard.queueStartedAt >= 60000) {
shard.queueStartedAt = now;
counter = 0;
shard.queueCounter = 0;
}
// Send a request that is next in line
@@ -28,12 +26,12 @@ export async function processQueue(id: number) {
shard.ws.send(JSON.stringify(request));
// Counter is useful for preventing 120/m requests.
counter++;
shard.queueCounter++;
// Handle if the requests have been maxed
if (counter >= 118) {
if (shard.queueCounter >= 118) {
await delay(60000);
counter = 0;
shard.queueCounter = 0;
continue;
}
}