Skip to content

Documentation / @imvu/bot / RateLimiter

Class: RateLimiter ​

Defined in: packages/bot/src/RateLimiter.ts:13

A sliding-window send queue. Tasks run in order, never more than messages per perMs; once maxQueue tasks are waiting, new ones are rejected rather than piling up behind a flood.

Constructors ​

Constructor ​

ts
new RateLimiter(
   limit, 
   maxQueue?, 
   now?
): RateLimiter;

Defined in: packages/bot/src/RateLimiter.ts:20

Parameters ​

ParameterTypeDefault value
limitRateLimitundefined
maxQueue?number20
now?() => numberDate.now

Returns ​

RateLimiter

Accessors ​

pending ​

Get Signature ​

ts
get pending(): number;

Defined in: packages/bot/src/RateLimiter.ts:28

Returns ​

number

Methods ​

schedule() ​

ts
schedule<T>(task): Promise<T>;

Defined in: packages/bot/src/RateLimiter.ts:32

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
task() => Promise<T>

Returns ​

Promise<T>


stop() ​

ts
stop(): void;

Defined in: packages/bot/src/RateLimiter.ts:47

Reject nothing already sent; drop everything still waiting.

Returns ​

void

Released under the MIT License.