From 470fbbb6d672d8266ad89ccaaf43edd1eadc2820 Mon Sep 17 00:00:00 2001 From: Amish Shah Date: Wed, 16 Dec 2015 18:46:03 +0000 Subject: [PATCH] Fixed rate limiting --- lib/Client/InternalClient.js | 4 ++++ src/Client/InternalClient.js | 3 +++ test/msgbot.js | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index c4ad78b27..3734e6130 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -132,13 +132,17 @@ var InternalClient = (function () { return new Promise(function (resolve, reject) { ret.end(function (error, data) { if (error) { + error.response.error.status = 429; if (error.response && error.response.error && error.response.error.status && error.response.error.status === 429) { if (data.headers["retry-after"] || data.headers["Retry-After"]) { var toWait = data.headers["retry-after"] || data.headers["Retry-After"]; toWait = parseInt(toWait); + console.log("waiting for", toWait); setTimeout(function () { _this.apiRequest.apply(_this, _arguments).then(resolve)["catch"](reject); }, toWait); + } else { + return reject(error); } } else { return reject(error); diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 229b11d90..51a95fc46 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -65,6 +65,7 @@ export default class InternalClient { return new Promise((resolve, reject) => { ret.end((error, data) => { if (error) { + error.response.error.status = 429; if (error.response && error.response.error && error.response.error.status && error.response.error.status === 429) { if(data.headers["retry-after"] || data.headers["Retry-After"]){ var toWait = data.headers["retry-after"] || data.headers["Retry-After"]; @@ -72,6 +73,8 @@ export default class InternalClient { setTimeout(() => { this.apiRequest.apply(this, arguments).then(resolve).catch(reject); }, toWait); + } else { + return reject(error); } } else { return reject(error); diff --git a/test/msgbot.js b/test/msgbot.js index 39a089a5e..0cf028d46 100644 --- a/test/msgbot.js +++ b/test/msgbot.js @@ -41,7 +41,8 @@ client.on("message", msg => { } if (msg.content === "$$$") { - client.reply(msg, "hi!"); + for(var x = 0; x < 60; x++) + client.reply(msg, x); } });