interface RESTOptions

export interface RESTOptions

Options to be passed when creating the REST instance

agent : Dispatcher | null

The agent to set globally

api : string

The base api path, without version

authPrefix : 'Bearer' | 'Bot'

The authorization prefix to use for requests, useful if you want to use bearer tokens

cdn : string

The cdn path

globalRequestsPerSecond : number

How many requests to allow sending per second (Infinity for unlimited, 50 for the standard global limit used by Discord)

handlerSweepInterval : number

The amount of time in milliseconds that passes between each hash sweep. (defaults to 1h)

hashLifetime : number

The maximum amount of time a hash can exist in milliseconds without being hit with a request (defaults to 24h)

hashSweepInterval : number

The amount of time in milliseconds that passes between each hash sweep. (defaults to 4h)

headers : Record<string, string>

Additional headers to send for all API requests

invalidRequestWarningInterval : number

The number of invalid REST requests (those that return 401, 403, or 429) in a 10 minute window between emitted warnings (0 for no warnings). That is, if set to 500, warnings will be emitted at invalid request number 500, 1000, 1500, and so on.

The extra offset to add to rate limits in milliseconds

rejectOnRateLimit : RateLimitQueueFilter | string[] | null

Determines how rate limiting and pre-emptive throttling should be handled. When an array of strings, each element is treated as a prefix for the request route (e.g. /channels to match any route starting with /channels such as /channels/:id/messages) for which to throw RateLimitErrors. All other request routes will be queued normally

retries : number

The number of retries for errors with the 500 code, or errors that timeout

timeout : number

The time to wait in milliseconds before a request is aborted

userAgentAppendix : string

Extra information to add to the user agent

version : string

The version of the API to use

makeRequest() : Promise<ResponseLike>

The method called to perform the actual HTTP request given a url and web fetch options For example, to use global fetch, simply provide makeRequest: fetch