diff --git a/lib/slack.js b/lib/slack.js index 5de4306e..8546cf01 100644 --- a/lib/slack.js +++ b/lib/slack.js @@ -59,9 +59,8 @@ export default class SlackData extends EventEmitter { return channel ? channel.id: null } - retry (){ - let interval = this.interval * 2 - setTimeout(this.fetch.bind(this), interval) + retry (delay = this.interval * 2){ + setTimeout(this.fetch.bind(this), delay) this.emit('retry') } @@ -71,6 +70,11 @@ export default class SlackData extends EventEmitter { return this.retry() } + // Too Many Requests + if (res.status == 429) { + return this.retry(res.headers['retry-after'] * 1000) + } + let users = res.body.members if (!users || (users && !users.length)) {