mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 00:53:31 +01:00
Token Cache bug fix and Rate Limiting
This commit is contained in:
@@ -64,10 +64,21 @@ export default class InternalClient {
|
||||
ret.set('User-Agent', this.userAgentInfo.full);
|
||||
return new Promise((resolve, reject) => {
|
||||
ret.end((error, data) => {
|
||||
if(error) {
|
||||
return reject(error);
|
||||
}
|
||||
if (error) {
|
||||
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);
|
||||
setTimeout(() => {
|
||||
this.apiRequest.apply(this, arguments).then(resolve).catch(reject);
|
||||
}, toWait);
|
||||
}
|
||||
} else {
|
||||
return reject(error);
|
||||
}
|
||||
}else{
|
||||
resolve(data.body);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ export default class TokenCacher extends EventEmitter {
|
||||
this.data = {};
|
||||
}
|
||||
|
||||
setToken(email, password, token) {
|
||||
setToken(email="", password="", token="") {
|
||||
email = secureEmail(email, password);
|
||||
var cipher = crypto.createCipher(algo, password)
|
||||
var crypted = cipher.update("valid" + token, "utf8", "hex")
|
||||
@@ -41,7 +41,7 @@ export default class TokenCacher extends EventEmitter {
|
||||
fs.writeJson(this.savePath, this.data);
|
||||
}
|
||||
|
||||
getToken(email, password) {
|
||||
getToken(email="", password="") {
|
||||
|
||||
email = secureEmail(email, password);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user