feat(Rest): better handling of global rate limit and invalid request tracking (#4711)

Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
Co-authored-by: Tristan Guichaoua <33934311+tguichaoua@users.noreply.github.com>
Co-authored-by: Papaia <43409674+Papaia@users.noreply.github.com>
Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
This commit is contained in:
Alec Woods
2021-03-31 15:56:58 -04:00
committed by GitHub
parent 06e9d86cb3
commit 9d2d60691e
5 changed files with 139 additions and 27 deletions

10
typings/index.d.ts vendored
View File

@@ -376,6 +376,7 @@ declare module 'discord.js' {
};
Events: {
RATE_LIMIT: 'rateLimit';
INVALID_REQUEST_WARNING: 'invalidRequestWarning';
CLIENT_READY: 'ready';
RESUMED: 'resumed';
GUILD_CREATE: 'guildCreate';
@@ -2424,6 +2425,7 @@ declare module 'discord.js' {
messageUpdate: [oldMessage: Message | PartialMessage, newMessage: Message | PartialMessage];
presenceUpdate: [oldPresence: Presence | undefined, newPresence: Presence];
rateLimit: [rateLimitData: RateLimitData];
invalidRequestWarning: [invalidRequestWarningData: InvalidRequestWarningData];
ready: [];
invalidated: [];
roleCreate: [role: Role];
@@ -2447,10 +2449,12 @@ declare module 'discord.js' {
messageCacheLifetime?: number;
messageSweepInterval?: number;
allowedMentions?: MessageMentionOptions;
invalidRequestWarningInterval?: number;
partials?: PartialTypes[];
restWsBridgeTimeout?: number;
restTimeOffset?: number;
restRequestTimeout?: number;
restGlobalRateLimit?: number;
restSweepInterval?: number;
retryLimit?: number;
presence?: PresenceData;
@@ -3209,6 +3213,12 @@ declare module 'discord.js' {
method: string;
path: string;
route: string;
global: boolean;
}
interface InvalidRequestWarningData {
count: number;
remainingTime: number;
}
interface RawOverwriteData {