import { RESTClient } from "@purrkit/rest"; import { RateLimitManager } from "@purrkit/ratelimit"; const limiter = new RateLimitManager({ onDebug: (msg, data) => { console.log(`[REST Debug] ${msg}`, data || ""); }, onRateLimit: ({ routeId, global, delayMs, bucketHash }) => { const type = global ? "GLOBAL" : "LOCAL"; console.warn( `[RateLimit] Hit ${type} limit on ${routeId}. Pausing for ${delayMs}ms (bucket: ${bucketHash})`, ); }, }); const rest = RESTClient({ token: process.env.TOKEN!, fetch: limiter.fetch, }); for (let i = 0; i < 50; i++) { await rest.users.me.get(); }