Rest
REST represents an interface to manipulate the Discord REST API. When making any sort of REST request, this class is used so that we accurately track the rate limits and add the token to each request.
Properties
token
Rest.token :: Secret
logger
Rest.logger :: Logger
routeRatelimits
Rest.routeRatelimits :: {
[string]: { remaining,
limit: number,
resetAfter: number,
cooloff: boolean?,
}
[string]: { remaining,
limit: number,
resetAfter: number,
cooloff: boolean?,
}
routeBuckets
Rest.routeBuckets :: {
{ [string]: string? } }
{ [string]: string? } }
globalRequestCount
Rest.globalRequestCount :: number
globalRatelimit
Rest.globalRatelimit :: number
isBlocked
Rest.isBlocked :: boolean
resourcesBlocked
Rest.resourcesBlocked :: {
{ [string]: boolean? } }
{ [string]: boolean? } }
intents
Rest.intents :: number
version
Rest.version :: number
Methods
The Rest instance has no set methods!
Functions
yieldUntil
Rest . yieldUntil () -> ()
self: REST
callback: () -> boolean
message: string
Quality of life method to yield, warn after a specific duration, and resume once a condition has been met
implementBucketRatelimitsFor
Rest . implementBucketRatelimitsFor () -> ()
self: REST
request: rest.Request
Adds per-route bucket rate limit handling for each request.
implementGlobalRatelimitsFor
Rest . implementGlobalRatelimitsFor () -> ()
self: REST
request: rest.Request
Adds global ratelimiting to application
implementErrorHandlerFor
Rest . implementErrorHandlerFor () -> ()
self: REST
request: rest.Request
Responsible for handling errors that occur when a request has been sent to discord
implementAttachmentHandlerFor
Rest . implementAttachmentHandlerFor () -> ()
_: REST
request: rest.Request
Responsible for handling errors that occur when a request has been sent to discord
newRequest
Rest . newRequest () -> ()
self: REST
Will create a new Request
new
Will create a new REST object