@discordeno/rest 19.0.0-next.a1ff90f → 19.0.0-next.a9703f7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"invalidBucket.d.ts","sourceRoot":"","sources":["../src/invalidBucket.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAiFtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAC1B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAA;IACX,sGAAsG;IACtG,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IACrC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IACzD,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IAEnB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,MAAM,CAAA;IAC7B,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,yCAAyC;IACzC,yBAAyB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,uDAAuD;IACvD,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,iIAAiI;IACjI,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;CACrE"}
1
+ {"version":3,"file":"invalidBucket.d.ts","sourceRoot":"","sources":["../src/invalidBucket.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAkFtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAC1B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAA;IACX,sGAAsG;IACtG,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IACrC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IACzD,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IAEnB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,MAAM,CAAA;IAC7B,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,yCAAyC;IACzC,yBAAyB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,uDAAuD;IACvD,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,iIAAiI;IACjI,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;CACrE"}
@@ -1,2 +1,2 @@
1
- import{delay as e}from"@discordeno/utils";export function createInvalidRequestBucket(t){let r={current:t.current??0,max:t.max??1e4,interval:t.interval??6e5,timeoutId:t.timeoutId,safety:t.safety??1,errorStatuses:t.errorStatuses??[401,403,429],requested:t.requested??0,processing:!1,waiting:[],requestsAllowed:function(){return r.max-r.current-r.requested-r.safety},isRequestAllowed:function(){return r.requestsAllowed()>0},waitUntilRequestAvailable:async function(){return await new Promise(async e=>{r.isRequestAllowed()?(r.requested++,e()):(r.waiting.push(e),await r.processWaiting())})},processWaiting:async function(){if(!r.processing){for(r.processing=!0;r.waiting.length>0;)r.isRequestAllowed()?(r.requested++,r.waiting.shift()?.()):await e(1e3);r.processing=!1}},handleCompletedRequest:function(e,t){r.requested--,r.errorStatuses.includes(e)&&(429===e&&t||(r.current++,void 0===r.timeoutId&&(r.timeoutId=setTimeout(()=>{r.current=0,r.timeoutId=void 0},r.interval))))}};return r}
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnZhbGlkQnVja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlbGF5IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5cbi8qKlxuICogQSBpbnZhbGlkIHJlcXVlc3QgYnVja2V0IGlzIHVzZWQgaW4gYSBzaW1pbGFyIG1hbm5lciBhcyBhIGxlYWt5IGJ1Y2tldCBidXQgYSBpbnZhbGlkIHJlcXVlc3QgYnVja2V0IGNhbiBiZSByZWZpbGxlZCBhcyBuZWVkZWQuXG4gKiBJdCdzIHB1cnBvc2UgaXMgdG8gbWFrZSBzdXJlIHRoZSBib3QgZG9lcyBub3QgaGl0IHRoZSBsaW1pdCB0byBnZXR0aW5nIGEgMSBociBiYW4uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdXNlZCB0byBjb25maWd1cmUgdGhpcyBidWNrZXQuXG4gKiBAcmV0dXJucyBSZWZpbGxpbmdCdWNrZXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUludmFsaWRSZXF1ZXN0QnVja2V0IChcbiAgb3B0aW9uczogSW52YWxpZFJlcXVlc3RCdWNrZXRPcHRpb25zXG4pOiBJbnZhbGlkUmVxdWVzdEJ1Y2tldCB7XG4gIGNvbnN0IGJ1Y2tldDogSW52YWxpZFJlcXVlc3RCdWNrZXQgPSB7XG4gICAgY3VycmVudDogb3B0aW9ucy5jdXJyZW50ID8/IDAsXG4gICAgbWF4OiBvcHRpb25zLm1heCA/PyAxMDAwMCxcbiAgICBpbnRlcnZhbDogb3B0aW9ucy5pbnRlcnZhbCA/PyA2MDAwMDAsXG4gICAgdGltZW91dElkOiBvcHRpb25zLnRpbWVvdXRJZCxcbiAgICBzYWZldHk6IG9wdGlvbnMuc2FmZXR5ID8/IDEsXG4gICAgZXJyb3JTdGF0dXNlczogb3B0aW9ucy5lcnJvclN0YXR1c2VzID8/IFs0MDEsIDQwMywgNDI5XSxcbiAgICByZXF1ZXN0ZWQ6IG9wdGlvbnMucmVxdWVzdGVkID8/IDAsXG4gICAgcHJvY2Vzc2luZzogZmFsc2UsXG5cbiAgICB3YWl0aW5nOiBbXSxcblxuICAgIHJlcXVlc3RzQWxsb3dlZDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1Y2tldC5tYXggLSBidWNrZXQuY3VycmVudCAtIGJ1Y2tldC5yZXF1ZXN0ZWQgLSBidWNrZXQuc2FmZXR5XG4gICAgfSxcblxuICAgIGlzUmVxdWVzdEFsbG93ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBidWNrZXQucmVxdWVzdHNBbGxvd2VkKCkgPiAwXG4gICAgfSxcblxuICAgIHdhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGU6IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hc3luYy1wcm9taXNlLWV4ZWN1dG9yXG4gICAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgICAgLy8gSWYgd2hhdGV2ZXIgYW1vdW50IG9mIHJlcXVlc3RzIGlzIGxlZnQgaXMgbW9yZSB0aGFuIHRoZSBzYWZldHkgbWFyZ2luLCBhbGxvdyB0aGUgcmVxdWVzdFxuICAgICAgICBpZiAoYnVja2V0LmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICAgIGJ1Y2tldC5yZXF1ZXN0ZWQrK1xuICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1Y2tldC53YWl0aW5nLnB1c2gocmVzb2x2ZSlcbiAgICAgICAgICBhd2FpdCBidWNrZXQucHJvY2Vzc1dhaXRpbmcoKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG5cbiAgICBwcm9jZXNzV2FpdGluZzogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gSWYgYWxyZWFkeSBwcm9jZXNzaW5nLCB0aGF0IGxvb3Agd2lsbCBoYW5kbGUgYWxsIHdhaXRpbmcgcmVxdWVzdHMuXG4gICAgICBpZiAoYnVja2V0LnByb2Nlc3NpbmcpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIE1hcmsgYXMgcHJvY2Vzc2luZyBzbyBvdGhlciBsb29wcyBkb24ndCBzdGFydFxuICAgICAgYnVja2V0LnByb2Nlc3NpbmcgPSB0cnVlXG5cbiAgICAgIHdoaWxlIChidWNrZXQud2FpdGluZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChidWNrZXQuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgICAgYnVja2V0LnJlcXVlc3RlZCsrXG4gICAgICAgICAgLy8gUmVzb2x2ZSB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAgICAgIGJ1Y2tldC53YWl0aW5nLnNoaWZ0KCk/LigpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgZGVsYXkoMTAwMClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgICBidWNrZXQucHJvY2Vzc2luZyA9IGZhbHNlXG4gICAgfSxcblxuICAgIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3Q6IGZ1bmN0aW9uIChjb2RlLCBzaGFyZWRTY29wZSkge1xuICAgICAgLy8gU2luY2UgcmVxdWVzdCBpcyBjb21wbGV0ZSwgd2UgY2FuIHJlbW92ZSBvbmUgZnJvbSByZXF1ZXN0ZWQuXG4gICAgICBidWNrZXQucmVxdWVzdGVkLS1cbiAgICAgIC8vIFNpbmNlIGl0IGlzIGFzIGEgdmFsaWQgcmVxdWVzdCwgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZ1xuICAgICAgaWYgKCFidWNrZXQuZXJyb3JTdGF0dXNlcy5pbmNsdWRlcyhjb2RlKSkgcmV0dXJuXG4gICAgICAvLyBTaGFyZWQgc2NvcGUgaXMgbm90IGNvbnNpZGVyZWQgaW52YWxpZFxuICAgICAgaWYgKGNvZGUgPT09IDQyOSAmJiBzaGFyZWRTY29wZSkgcmV0dXJuXG5cbiAgICAgIC8vIElOVkFMSUQgUkVRVUVTVCBXQVMgTUFERVxuXG4gICAgICAvLyBNYXJrIGEgcmVxdWVzdCBoYXMgYmVlbiBpbnZhbGlkXG4gICAgICBidWNrZXQuY3VycmVudCsrXG4gICAgICAvLyBJZiBhIHRpbWVvdXQgd2FzIG5vdCBzdGFydGVkLCBzdGFydCBhIHRpbWVvdXQgdG8gcmVzZXQgdGhpcyBidWNrZXRcbiAgICAgIGlmIChidWNrZXQudGltZW91dElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYnVja2V0LnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGJ1Y2tldC5jdXJyZW50ID0gMFxuICAgICAgICAgIGJ1Y2tldC50aW1lb3V0SWQgPSB1bmRlZmluZWRcbiAgICAgICAgfSwgYnVja2V0LmludGVydmFsKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBidWNrZXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkUmVxdWVzdEJ1Y2tldE9wdGlvbnMge1xuICAvKiogY3VycmVudCBpbnZhbGlkIGFtb3VudCAqL1xuICBjdXJyZW50PzogbnVtYmVyXG4gIC8qKiBtYXggaW52YWxpZCByZXF1ZXN0cyBhbGxvd2VkIHVudGlsIGJhbi4gRGVmYXVsdHMgdG8gMTAsMDAwICovXG4gIG1heD86IG51bWJlclxuICAvKiogVGhlIHRpbWUgdGhhdCBkaXNjb3JkIGFsbG93cyB0byBtYWtlIHRoZSBtYXggbnVtYmVyIG9mIGludmFsaWQgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDEwIG1pbnV0ZXMgKi9cbiAgaW50ZXJ2YWw/OiBudW1iZXJcbiAgLyoqIHRpbWVyIHRvIHJlc2V0IHRvIDAgKi9cbiAgdGltZW91dElkPzogTm9kZUpTLlRpbWVvdXRcbiAgLyoqIGhvdyBzYWZlIHRvIGJlIGZyb20gbWF4LiBEZWZhdWx0cyB0byAxICovXG4gIHNhZmV0eT86IG51bWJlclxuICAvKiogVGhlIHJlcXVlc3Qgc3RhdHVzZXMgdGhhdCBjb3VudCBhcyBhbiBpbnZhbGlkIHJlcXVlc3QuICovXG4gIGVycm9yU3RhdHVzZXM/OiBudW1iZXJbXVxuICAvKiogVGhlIGFtb3VudCBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgcmVxdWVzdGVkIGZyb20gdGhpcyBidWNrZXQuICovXG4gIHJlcXVlc3RlZD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRSZXF1ZXN0QnVja2V0IHtcbiAgLyoqIGN1cnJlbnQgaW52YWxpZCBhbW91bnQgKi9cbiAgY3VycmVudDogbnVtYmVyXG4gIC8qKiBtYXggaW52YWxpZCByZXF1ZXN0cyBhbGxvd2VkIHVudGlsIGJhbi4gRGVmYXVsdHMgdG8gMTAsMDAwICovXG4gIG1heDogbnVtYmVyXG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgaW52YWxpZCByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMTAgbWludXRlcyAqL1xuICBpbnRlcnZhbDogbnVtYmVyXG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZDogTm9kZUpTLlRpbWVvdXQgfCB1bmRlZmluZWRcbiAgLyoqIGhvdyBzYWZlIHRvIGJlIGZyb20gbWF4LiBEZWZhdWx0cyB0byAxICovXG4gIHNhZmV0eTogbnVtYmVyXG4gIC8qKiBUaGUgcmVxdWVzdCBzdGF0dXNlcyB0aGF0IGNvdW50IGFzIGFuIGludmFsaWQgcmVxdWVzdC4gKi9cbiAgZXJyb3JTdGF0dXNlczogbnVtYmVyW11cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCB3ZXJlIHJlcXVlc3RlZCBmcm9tIHRoaXMgYnVja2V0LiAqL1xuICByZXF1ZXN0ZWQ6IG51bWJlclxuICAvKiogVGhlIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBwZW5kaW5nLiAqL1xuICB3YWl0aW5nOiBBcnJheTwodmFsdWU6IHZvaWQgfCBQcm9taXNlTGlrZTx2b2lkPikgPT4gdm9pZD5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB3YWl0aW5nIHF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4gKi9cbiAgcHJvY2Vzc2luZzogYm9vbGVhblxuXG4gIC8qKiBHaXZlcyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBhbGxvd2VkLiAqL1xuICByZXF1ZXN0c0FsbG93ZWQ6ICgpID0+IG51bWJlclxuICAvKiogQ2hlY2tzIGlmIGEgcmVxdWVzdCBpcyBhbGxvd2VkIGF0IHRoaXMgdGltZS4gKi9cbiAgaXNSZXF1ZXN0QWxsb3dlZDogKCkgPT4gYm9vbGVhblxuICAvKiogV2FpdHMgdW50aWwgYSByZXF1ZXN0IGlzIGF2YWlsYWJsZSAqL1xuICB3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBCZWdpbnMgcHJvY2Vzc2luZyB0aGUgd2FpdGluZyBxdWV1ZSBvZiByZXF1ZXN0cy4gKi9cbiAgcHJvY2Vzc1dhaXRpbmc6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIEhhbmRsZXIgZm9yIHdoZW5ldmVyIGEgcmVxdWVzdCBpcyB2YWxpZGF0ZWQuIFRoaXMgc2hvdWxkIHVwZGF0ZSB0aGUgcmVxdWVzdGVkIHZhbHVlcyBvciB0cmlnZ2VyIGFueSBvdGhlciBuZWNlc3Nhcnkgc3R1ZmYuICovXG4gIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3Q6IChjb2RlOiBudW1iZXIsIHNoYXJlZFNjb3BlOiBib29sZWFuKSA9PiB2b2lkXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJjcmVhdGVJbnZhbGlkUmVxdWVzdEJ1Y2tldCIsIm9wdGlvbnMiLCJidWNrZXQiLCJjdXJyZW50IiwibWF4IiwiaW50ZXJ2YWwiLCJ0aW1lb3V0SWQiLCJzYWZldHkiLCJlcnJvclN0YXR1c2VzIiwicmVxdWVzdGVkIiwicHJvY2Vzc2luZyIsIndhaXRpbmciLCJyZXF1ZXN0c0FsbG93ZWQiLCJpc1JlcXVlc3RBbGxvd2VkIiwid2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicHVzaCIsInByb2Nlc3NXYWl0aW5nIiwibGVuZ3RoIiwic2hpZnQiLCJoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0IiwiY29kZSIsInNoYXJlZFNjb3BlIiwiaW5jbHVkZXMiLCJ1bmRlZmluZWQiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFTQSxTQUFBQSxDQUFLLEtBQVEsbUJBQW1CLEFBU3pDLFFBQU8sU0FBU0MsMkJBQ2RDLENBQW9DLENBQ2QsQ0FDdEIsSUFBTUMsRUFBK0IsQ0FDbkNDLFFBQVNGLEVBQVFFLE9BQU8sRUFBSSxFQUM1QkMsSUFBS0gsRUFBUUcsR0FBRyxFQUFJLElBQ3BCQyxTQUFVSixFQUFRSSxRQUFRLEVBQUksSUFDOUJDLFVBQVdMLEVBQVFLLFNBQVMsQ0FDNUJDLE9BQVFOLEVBQVFNLE1BQU0sRUFBSSxFQUMxQkMsY0FBZVAsRUFBUU8sYUFBYSxFQUFJLENBQUMsSUFBSyxJQUFLLElBQUksQ0FDdkRDLFVBQVdSLEVBQVFRLFNBQVMsRUFBSSxFQUNoQ0MsV0FBWSxDQUFBLEVBRVpDLFFBQVMsRUFBRSxDQUVYQyxnQkFBaUIsVUFBWSxDQUMzQixPQUFPVixFQUFPRSxHQUFHLENBQUdGLEVBQU9DLE9BQU8sQ0FBR0QsRUFBT08sU0FBUyxDQUFHUCxFQUFPSyxNQUFNLEFBQ3ZFLEVBRUFNLGlCQUFrQixVQUFZLENBQzVCLE9BQU9YLEVBQU9VLGVBQWUsR0FBSyxDQUNwQyxFQUVBRSwwQkFBMkIsZ0JBQWtCLENBRTNDLE9BQU8sTUFBTSxJQUFJQyxRQUFRLE1BQU9DLEdBQVksQ0FFdENkLEVBQU9XLGdCQUFnQixJQUN6QlgsRUFBT08sU0FBUyxHQUNoQk8sTUFFQWQsRUFBT1MsT0FBTyxDQUFDTSxJQUFJLENBQUNELEdBQ3BCLE1BQU1kLEVBQU9nQixjQUFjLEdBRS9CLEVBQ0YsRUFFQUEsZUFBZ0IsZ0JBQWtCLENBRWhDLElBQUloQixFQUFPUSxVQUFVLEVBT3JCLElBRkFSLEVBQU9RLFVBQVUsQ0FBRyxDQUFBLEVBRWJSLEVBQU9TLE9BQU8sQ0FBQ1EsTUFBTSxDQUFHLEdBQ3pCakIsRUFBT1csZ0JBQWdCLElBQ3pCWCxFQUFPTyxTQUFTLEdBRWhCUCxFQUFPUyxPQUFPLENBQUNTLEtBQUssUUFFcEIsTUFBTXJCLEVBQU0sSUFLaEJHLENBQUFBLEVBQU9RLFVBQVUsQ0FBRyxDQUFBLEVBaEJuQixBQWlCSCxFQUVBVyx1QkFBd0IsU0FBVUMsQ0FBSSxDQUFFQyxDQUFXLENBQUUsQ0FFbkRyQixFQUFPTyxTQUFTLEdBRVhQLEVBQU9NLGFBQWEsQ0FBQ2dCLFFBQVEsQ0FBQ0YsS0FFdEIsTUFBVEEsR0FBZ0JDLElBS3BCckIsRUFBT0MsT0FBTyxHQUVXc0IsS0FBQUEsSUFBckJ2QixFQUFPSSxTQUFTLEVBQ2xCSixDQUFBQSxFQUFPSSxTQUFTLENBQUdvQixXQUFXLElBQU0sQ0FDbEN4QixFQUFPQyxPQUFPLENBQUcsRUFDakJELEVBQU9JLFNBQVMsQ0FBR21CLEtBQUFBLENBQ3JCLEVBQUd2QixFQUFPRyxRQUFRLENBQUEsR0FFdEIsQ0FDRixFQUVBLE9BQU9ILENBQ1QsQ0FBQyJ9
1
+ import{delay as e,logger as t}from"@discordeno/utils";export function createInvalidRequestBucket(i){let r={current:i.current??0,max:i.max??1e4,interval:i.interval??6e5,timeoutId:i.timeoutId,safety:i.safety??1,errorStatuses:i.errorStatuses??[401,403,429],requested:i.requested??0,processing:!1,waiting:[],requestsAllowed:function(){return r.max-r.current-r.requested-r.safety},isRequestAllowed:function(){return r.requestsAllowed()>0},waitUntilRequestAvailable:async function(){return await new Promise(async e=>{r.isRequestAllowed()?(r.requested++,e()):(r.waiting.push(e),await r.processWaiting())})},processWaiting:async function(){if(!r.processing){for(r.processing=!0;r.waiting.length>0;)t.info(`[InvalidBucket] processing waiting queue while loop ran with ${r.waiting.length} remaining.`),r.isRequestAllowed()?(r.requested++,r.waiting.shift()?.()):await e(1e3);r.processing=!1}},handleCompletedRequest:function(e,t){r.requested--,r.errorStatuses.includes(e)&&(429===e&&t||(r.current++,void 0===r.timeoutId&&(r.timeoutId=setTimeout(()=>{r.current=0,r.timeoutId=void 0},r.interval))))}};return r}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnZhbGlkQnVja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlbGF5LCBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcblxuLyoqXG4gKiBBIGludmFsaWQgcmVxdWVzdCBidWNrZXQgaXMgdXNlZCBpbiBhIHNpbWlsYXIgbWFubmVyIGFzIGEgbGVha3kgYnVja2V0IGJ1dCBhIGludmFsaWQgcmVxdWVzdCBidWNrZXQgY2FuIGJlIHJlZmlsbGVkIGFzIG5lZWRlZC5cbiAqIEl0J3MgcHVycG9zZSBpcyB0byBtYWtlIHN1cmUgdGhlIGJvdCBkb2VzIG5vdCBoaXQgdGhlIGxpbWl0IHRvIGdldHRpbmcgYSAxIGhyIGJhbi5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGlzIGJ1Y2tldC5cbiAqIEByZXR1cm5zIFJlZmlsbGluZ0J1Y2tldFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW52YWxpZFJlcXVlc3RCdWNrZXQgKFxuICBvcHRpb25zOiBJbnZhbGlkUmVxdWVzdEJ1Y2tldE9wdGlvbnNcbik6IEludmFsaWRSZXF1ZXN0QnVja2V0IHtcbiAgY29uc3QgYnVja2V0OiBJbnZhbGlkUmVxdWVzdEJ1Y2tldCA9IHtcbiAgICBjdXJyZW50OiBvcHRpb25zLmN1cnJlbnQgPz8gMCxcbiAgICBtYXg6IG9wdGlvbnMubWF4ID8/IDEwMDAwLFxuICAgIGludGVydmFsOiBvcHRpb25zLmludGVydmFsID8/IDYwMDAwMCxcbiAgICB0aW1lb3V0SWQ6IG9wdGlvbnMudGltZW91dElkLFxuICAgIHNhZmV0eTogb3B0aW9ucy5zYWZldHkgPz8gMSxcbiAgICBlcnJvclN0YXR1c2VzOiBvcHRpb25zLmVycm9yU3RhdHVzZXMgPz8gWzQwMSwgNDAzLCA0MjldLFxuICAgIHJlcXVlc3RlZDogb3B0aW9ucy5yZXF1ZXN0ZWQgPz8gMCxcbiAgICBwcm9jZXNzaW5nOiBmYWxzZSxcblxuICAgIHdhaXRpbmc6IFtdLFxuXG4gICAgcmVxdWVzdHNBbGxvd2VkOiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gYnVja2V0Lm1heCAtIGJ1Y2tldC5jdXJyZW50IC0gYnVja2V0LnJlcXVlc3RlZCAtIGJ1Y2tldC5zYWZldHlcbiAgICB9LFxuXG4gICAgaXNSZXF1ZXN0QWxsb3dlZDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1Y2tldC5yZXF1ZXN0c0FsbG93ZWQoKSA+IDBcbiAgICB9LFxuXG4gICAgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZTogYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3JcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgICAvLyBJZiB3aGF0ZXZlciBhbW91bnQgb2YgcmVxdWVzdHMgaXMgbGVmdCBpcyBtb3JlIHRoYW4gdGhlIHNhZmV0eSBtYXJnaW4sIGFsbG93IHRoZSByZXF1ZXN0XG4gICAgICAgIGlmIChidWNrZXQuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgICAgYnVja2V0LnJlcXVlc3RlZCsrXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnVja2V0LndhaXRpbmcucHVzaChyZXNvbHZlKVxuICAgICAgICAgIGF3YWl0IGJ1Y2tldC5wcm9jZXNzV2FpdGluZygpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcblxuICAgIHByb2Nlc3NXYWl0aW5nOiBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBJZiBhbHJlYWR5IHByb2Nlc3NpbmcsIHRoYXQgbG9vcCB3aWxsIGhhbmRsZSBhbGwgd2FpdGluZyByZXF1ZXN0cy5cbiAgICAgIGlmIChidWNrZXQucHJvY2Vzc2luZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgICBidWNrZXQucHJvY2Vzc2luZyA9IHRydWVcblxuICAgICAgd2hpbGUgKGJ1Y2tldC53YWl0aW5nLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oYFtJbnZhbGlkQnVja2V0XSBwcm9jZXNzaW5nIHdhaXRpbmcgcXVldWUgd2hpbGUgbG9vcCByYW4gd2l0aCAke2J1Y2tldC53YWl0aW5nLmxlbmd0aH0gcmVtYWluaW5nLmApXG4gICAgICAgIGlmIChidWNrZXQuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgICAgYnVja2V0LnJlcXVlc3RlZCsrXG4gICAgICAgICAgLy8gUmVzb2x2ZSB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAgICAgIGJ1Y2tldC53YWl0aW5nLnNoaWZ0KCk/LigpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgZGVsYXkoMTAwMClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgICBidWNrZXQucHJvY2Vzc2luZyA9IGZhbHNlXG4gICAgfSxcblxuICAgIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3Q6IGZ1bmN0aW9uIChjb2RlLCBzaGFyZWRTY29wZSkge1xuICAgICAgLy8gU2luY2UgcmVxdWVzdCBpcyBjb21wbGV0ZSwgd2UgY2FuIHJlbW92ZSBvbmUgZnJvbSByZXF1ZXN0ZWQuXG4gICAgICBidWNrZXQucmVxdWVzdGVkLS1cbiAgICAgIC8vIFNpbmNlIGl0IGlzIGFzIGEgdmFsaWQgcmVxdWVzdCwgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZ1xuICAgICAgaWYgKCFidWNrZXQuZXJyb3JTdGF0dXNlcy5pbmNsdWRlcyhjb2RlKSkgcmV0dXJuXG4gICAgICAvLyBTaGFyZWQgc2NvcGUgaXMgbm90IGNvbnNpZGVyZWQgaW52YWxpZFxuICAgICAgaWYgKGNvZGUgPT09IDQyOSAmJiBzaGFyZWRTY29wZSkgcmV0dXJuXG5cbiAgICAgIC8vIElOVkFMSUQgUkVRVUVTVCBXQVMgTUFERVxuXG4gICAgICAvLyBNYXJrIGEgcmVxdWVzdCBoYXMgYmVlbiBpbnZhbGlkXG4gICAgICBidWNrZXQuY3VycmVudCsrXG4gICAgICAvLyBJZiBhIHRpbWVvdXQgd2FzIG5vdCBzdGFydGVkLCBzdGFydCBhIHRpbWVvdXQgdG8gcmVzZXQgdGhpcyBidWNrZXRcbiAgICAgIGlmIChidWNrZXQudGltZW91dElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYnVja2V0LnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGJ1Y2tldC5jdXJyZW50ID0gMFxuICAgICAgICAgIGJ1Y2tldC50aW1lb3V0SWQgPSB1bmRlZmluZWRcbiAgICAgICAgfSwgYnVja2V0LmludGVydmFsKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBidWNrZXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkUmVxdWVzdEJ1Y2tldE9wdGlvbnMge1xuICAvKiogY3VycmVudCBpbnZhbGlkIGFtb3VudCAqL1xuICBjdXJyZW50PzogbnVtYmVyXG4gIC8qKiBtYXggaW52YWxpZCByZXF1ZXN0cyBhbGxvd2VkIHVudGlsIGJhbi4gRGVmYXVsdHMgdG8gMTAsMDAwICovXG4gIG1heD86IG51bWJlclxuICAvKiogVGhlIHRpbWUgdGhhdCBkaXNjb3JkIGFsbG93cyB0byBtYWtlIHRoZSBtYXggbnVtYmVyIG9mIGludmFsaWQgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDEwIG1pbnV0ZXMgKi9cbiAgaW50ZXJ2YWw/OiBudW1iZXJcbiAgLyoqIHRpbWVyIHRvIHJlc2V0IHRvIDAgKi9cbiAgdGltZW91dElkPzogTm9kZUpTLlRpbWVvdXRcbiAgLyoqIGhvdyBzYWZlIHRvIGJlIGZyb20gbWF4LiBEZWZhdWx0cyB0byAxICovXG4gIHNhZmV0eT86IG51bWJlclxuICAvKiogVGhlIHJlcXVlc3Qgc3RhdHVzZXMgdGhhdCBjb3VudCBhcyBhbiBpbnZhbGlkIHJlcXVlc3QuICovXG4gIGVycm9yU3RhdHVzZXM/OiBudW1iZXJbXVxuICAvKiogVGhlIGFtb3VudCBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgcmVxdWVzdGVkIGZyb20gdGhpcyBidWNrZXQuICovXG4gIHJlcXVlc3RlZD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRSZXF1ZXN0QnVja2V0IHtcbiAgLyoqIGN1cnJlbnQgaW52YWxpZCBhbW91bnQgKi9cbiAgY3VycmVudDogbnVtYmVyXG4gIC8qKiBtYXggaW52YWxpZCByZXF1ZXN0cyBhbGxvd2VkIHVudGlsIGJhbi4gRGVmYXVsdHMgdG8gMTAsMDAwICovXG4gIG1heDogbnVtYmVyXG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgaW52YWxpZCByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMTAgbWludXRlcyAqL1xuICBpbnRlcnZhbDogbnVtYmVyXG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZDogTm9kZUpTLlRpbWVvdXQgfCB1bmRlZmluZWRcbiAgLyoqIGhvdyBzYWZlIHRvIGJlIGZyb20gbWF4LiBEZWZhdWx0cyB0byAxICovXG4gIHNhZmV0eTogbnVtYmVyXG4gIC8qKiBUaGUgcmVxdWVzdCBzdGF0dXNlcyB0aGF0IGNvdW50IGFzIGFuIGludmFsaWQgcmVxdWVzdC4gKi9cbiAgZXJyb3JTdGF0dXNlczogbnVtYmVyW11cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCB3ZXJlIHJlcXVlc3RlZCBmcm9tIHRoaXMgYnVja2V0LiAqL1xuICByZXF1ZXN0ZWQ6IG51bWJlclxuICAvKiogVGhlIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBwZW5kaW5nLiAqL1xuICB3YWl0aW5nOiBBcnJheTwodmFsdWU6IHZvaWQgfCBQcm9taXNlTGlrZTx2b2lkPikgPT4gdm9pZD5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB3YWl0aW5nIHF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4gKi9cbiAgcHJvY2Vzc2luZzogYm9vbGVhblxuXG4gIC8qKiBHaXZlcyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBhbGxvd2VkLiAqL1xuICByZXF1ZXN0c0FsbG93ZWQ6ICgpID0+IG51bWJlclxuICAvKiogQ2hlY2tzIGlmIGEgcmVxdWVzdCBpcyBhbGxvd2VkIGF0IHRoaXMgdGltZS4gKi9cbiAgaXNSZXF1ZXN0QWxsb3dlZDogKCkgPT4gYm9vbGVhblxuICAvKiogV2FpdHMgdW50aWwgYSByZXF1ZXN0IGlzIGF2YWlsYWJsZSAqL1xuICB3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBCZWdpbnMgcHJvY2Vzc2luZyB0aGUgd2FpdGluZyBxdWV1ZSBvZiByZXF1ZXN0cy4gKi9cbiAgcHJvY2Vzc1dhaXRpbmc6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIEhhbmRsZXIgZm9yIHdoZW5ldmVyIGEgcmVxdWVzdCBpcyB2YWxpZGF0ZWQuIFRoaXMgc2hvdWxkIHVwZGF0ZSB0aGUgcmVxdWVzdGVkIHZhbHVlcyBvciB0cmlnZ2VyIGFueSBvdGhlciBuZWNlc3Nhcnkgc3R1ZmYuICovXG4gIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3Q6IChjb2RlOiBudW1iZXIsIHNoYXJlZFNjb3BlOiBib29sZWFuKSA9PiB2b2lkXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJsb2dnZXIiLCJjcmVhdGVJbnZhbGlkUmVxdWVzdEJ1Y2tldCIsIm9wdGlvbnMiLCJidWNrZXQiLCJjdXJyZW50IiwibWF4IiwiaW50ZXJ2YWwiLCJ0aW1lb3V0SWQiLCJzYWZldHkiLCJlcnJvclN0YXR1c2VzIiwicmVxdWVzdGVkIiwicHJvY2Vzc2luZyIsIndhaXRpbmciLCJyZXF1ZXN0c0FsbG93ZWQiLCJpc1JlcXVlc3RBbGxvd2VkIiwid2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicHVzaCIsInByb2Nlc3NXYWl0aW5nIiwibGVuZ3RoIiwiaW5mbyIsInNoaWZ0IiwiaGFuZGxlQ29tcGxldGVkUmVxdWVzdCIsImNvZGUiLCJzaGFyZWRTY29wZSIsImluY2x1ZGVzIiwidW5kZWZpbmVkIiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBU0EsU0FBQUEsQ0FBSyxDQUFFQyxVQUFBQSxDQUFNLEtBQVEsbUJBQW1CLEFBU2pELFFBQU8sU0FBU0MsMkJBQ2RDLENBQW9DLENBQ2QsQ0FDdEIsSUFBTUMsRUFBK0IsQ0FDbkNDLFFBQVNGLEVBQVFFLE9BQU8sRUFBSSxFQUM1QkMsSUFBS0gsRUFBUUcsR0FBRyxFQUFJLElBQ3BCQyxTQUFVSixFQUFRSSxRQUFRLEVBQUksSUFDOUJDLFVBQVdMLEVBQVFLLFNBQVMsQ0FDNUJDLE9BQVFOLEVBQVFNLE1BQU0sRUFBSSxFQUMxQkMsY0FBZVAsRUFBUU8sYUFBYSxFQUFJLENBQUMsSUFBSyxJQUFLLElBQUksQ0FDdkRDLFVBQVdSLEVBQVFRLFNBQVMsRUFBSSxFQUNoQ0MsV0FBWSxDQUFBLEVBRVpDLFFBQVMsRUFBRSxDQUVYQyxnQkFBaUIsVUFBWSxDQUMzQixPQUFPVixFQUFPRSxHQUFHLENBQUdGLEVBQU9DLE9BQU8sQ0FBR0QsRUFBT08sU0FBUyxDQUFHUCxFQUFPSyxNQUFNLEFBQ3ZFLEVBRUFNLGlCQUFrQixVQUFZLENBQzVCLE9BQU9YLEVBQU9VLGVBQWUsR0FBSyxDQUNwQyxFQUVBRSwwQkFBMkIsZ0JBQWtCLENBRTNDLE9BQU8sTUFBTSxJQUFJQyxRQUFRLE1BQU9DLEdBQVksQ0FFdENkLEVBQU9XLGdCQUFnQixJQUN6QlgsRUFBT08sU0FBUyxHQUNoQk8sTUFFQWQsRUFBT1MsT0FBTyxDQUFDTSxJQUFJLENBQUNELEdBQ3BCLE1BQU1kLEVBQU9nQixjQUFjLEdBRS9CLEVBQ0YsRUFFQUEsZUFBZ0IsZ0JBQWtCLENBRWhDLElBQUloQixFQUFPUSxVQUFVLEVBT3JCLElBRkFSLEVBQU9RLFVBQVUsQ0FBRyxDQUFBLEVBRWJSLEVBQU9TLE9BQU8sQ0FBQ1EsTUFBTSxDQUFHLEdBQzdCcEIsRUFBT3FCLElBQUksQ0FBQyxDQUFDLDZEQUE2RCxFQUFFbEIsRUFBT1MsT0FBTyxDQUFDUSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQzFHakIsRUFBT1csZ0JBQWdCLElBQ3pCWCxFQUFPTyxTQUFTLEdBRWhCUCxFQUFPUyxPQUFPLENBQUNVLEtBQUssUUFFcEIsTUFBTXZCLEVBQU0sSUFLaEJJLENBQUFBLEVBQU9RLFVBQVUsQ0FBRyxDQUFBLEVBakJuQixBQWtCSCxFQUVBWSx1QkFBd0IsU0FBVUMsQ0FBSSxDQUFFQyxDQUFXLENBQUUsQ0FFbkR0QixFQUFPTyxTQUFTLEdBRVhQLEVBQU9NLGFBQWEsQ0FBQ2lCLFFBQVEsQ0FBQ0YsS0FFdEIsTUFBVEEsR0FBZ0JDLElBS3BCdEIsRUFBT0MsT0FBTyxHQUVXdUIsS0FBQUEsSUFBckJ4QixFQUFPSSxTQUFTLEVBQ2xCSixDQUFBQSxFQUFPSSxTQUFTLENBQUdxQixXQUFXLElBQU0sQ0FDbEN6QixFQUFPQyxPQUFPLENBQUcsRUFDakJELEVBQU9JLFNBQVMsQ0FBR29CLEtBQUFBLENBQ3JCLEVBQUd4QixFQUFPRyxRQUFRLENBQUEsR0FFdEIsQ0FDRixFQUVBLE9BQU9ILENBQ1QsQ0FBQyJ9
package/dist/manager.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Queue } from './queue.js';
2
- import type { ApplicationCommandPermissions, BigString, Camelize, CreateApplicationCommand, CreateAutoModerationRuleOptions, CreateChannelInvite, CreateForumPostWithMessage, CreateGuildChannel, CreateGuildEmoji, CreateMessageOptions, CreateScheduledEvent, CreateStageInstance, DeleteWebhookMessageOptions, DiscordActiveThreads, DiscordApplication, DiscordApplicationCommand, DiscordApplicationCommandPermissions, DiscordArchivedThreads, DiscordAutoModerationRule, DiscordChannel, DiscordEmoji, DiscordFollowedChannel, DiscordGetGatewayBot, DiscordIntegration, DiscordInvite, DiscordInviteMetadata, DiscordMember, DiscordMemberWithUser, DiscordMessage, DiscordScheduledEvent, DiscordStageInstance, DiscordStickerPack, DiscordTemplate, DiscordThreadMember, DiscordUser, DiscordWebhook, EditAutoModerationRuleOptions, EditChannelPermissionOverridesOptions, EditMessage, EditScheduledEvent, EditStageInstanceOptions, ExecuteWebhook, GetGuildPruneCountQuery, GetInvite, GetMessagesOptions, GetScheduledEvents, GetScheduledEventUsers, GetWebhookMessageOptions, InteractionCallbackData, InteractionResponse, ListArchivedThreads, ListGuildMembers, ModifyChannel, ModifyGuildChannelPositions, ModifyGuildEmoji, ModifyWebhook, SearchMembers, StartThreadWithMessage, StartThreadWithoutMessage, WithReason } from '@discordeno/types';
2
+ import type { ApplicationCommandPermissions, BigString, Camelize, CreateApplicationCommand, CreateAutoModerationRuleOptions, CreateChannelInvite, CreateForumPostWithMessage, CreateGuild, CreateGuildChannel, CreateGuildEmoji, CreateGuildRole, CreateMessageOptions, CreateScheduledEvent, CreateStageInstance, DeleteWebhookMessageOptions, DiscordActiveThreads, DiscordApplication, DiscordApplicationCommand, DiscordApplicationCommandPermissions, DiscordArchivedThreads, DiscordAutoModerationRule, DiscordChannel, DiscordEmoji, DiscordFollowedChannel, DiscordGetGatewayBot, DiscordGuild, DiscordIntegration, DiscordInvite, DiscordInviteMetadata, DiscordMember, DiscordMemberWithUser, DiscordMessage, DiscordRole, DiscordScheduledEvent, DiscordStageInstance, DiscordStickerPack, DiscordTemplate, DiscordThreadMember, DiscordUser, DiscordWebhook, EditAutoModerationRuleOptions, EditChannelPermissionOverridesOptions, EditGuildRole, EditMessage, EditScheduledEvent, EditStageInstanceOptions, ExecuteWebhook, GetGuildPruneCountQuery, GetInvite, GetMessagesOptions, GetScheduledEvents, GetScheduledEventUsers, GetWebhookMessageOptions, InteractionCallbackData, InteractionResponse, ListArchivedThreads, ListGuildMembers, ModifyChannel, ModifyGuildChannelPositions, ModifyGuildEmoji, ModifyRolePositions, ModifyWebhook, SearchMembers, StartThreadWithMessage, StartThreadWithoutMessage, WithReason } from '@discordeno/types';
3
3
  import type { InvalidRequestBucket } from './invalidBucket.js';
4
4
  export declare function createRestManager(options: CreateRestManagerOptions): RestManager;
5
5
  export interface CreateRestManagerOptions {
@@ -41,6 +41,8 @@ export interface RestManager {
41
41
  globallyRateLimited: boolean;
42
42
  /** Whether or not the rate limited paths are being processed to allow requests to be made once time is up. Defaults to false. */
43
43
  processingRateLimitedPaths: boolean;
44
+ /** The time in milliseconds to wait before deleting this queue if it is empty. Defaults to 60000(one minute). */
45
+ deleteQueueDelay: number;
44
46
  /** The queues that hold all the requests to be processed. */
45
47
  queues: Map<string, Queue>;
46
48
  /** The paths that are currently rate limited. */
@@ -130,6 +132,8 @@ export interface RestManager {
130
132
  };
131
133
  /** Routes for guild related endpoints. */
132
134
  guilds: {
135
+ /** Routes for handling a non-specific guild. */
136
+ all: () => string;
133
137
  /** Routes for a guilds automoderation. */
134
138
  automod: {
135
139
  /** Route for handling a guild's automoderation. */
@@ -152,6 +156,8 @@ export interface RestManager {
152
156
  emoji: (guildId: BigString, id: BigString) => string;
153
157
  /** Route for handling non-specific emojis. */
154
158
  emojis: (guildId: BigString) => string;
159
+ /** Route for handling a specific guild. */
160
+ guild: (guildId: BigString, withCounts?: boolean) => string;
155
161
  /** Route for handling a specific integration. */
156
162
  integration: (guildId: BigString, integrationId: BigString) => string;
157
163
  /** Route for handling non-specific integrations. */
@@ -188,6 +194,15 @@ export interface RestManager {
188
194
  /** Route for handling non-specific guild's templates. */
189
195
  all: (guildId: BigString) => string;
190
196
  };
197
+ /** Routes for handling a guild's roles. */
198
+ roles: {
199
+ /** Route for handling a specific guild role. */
200
+ one: (guildId: BigString, roleId: BigString) => string;
201
+ /** Route for handling a guild's roles. */
202
+ all: (guildId: BigString) => string;
203
+ /** Route for handling a members roles in a guild. */
204
+ member: (guildId: BigString, memberId: BigString, roleId: BigString) => string;
205
+ };
191
206
  };
192
207
  /** Routes for interaction related endpoints. */
193
208
  interactions: {
@@ -222,6 +237,8 @@ export interface RestManager {
222
237
  };
223
238
  /** Check the rate limits for a url or a bucket. */
224
239
  checkRateLimits: (url: string) => number | false;
240
+ /** Reshapes and modifies the obj as needed to make it ready for discords api. */
241
+ changeToDiscordFormat: (obj: any) => any;
225
242
  /** Creates the request body and headers that are necessary to send a request. Will handle different types of methods and everything necessary for discord. */
226
243
  createRequest: (options: CreateRequestBodyOptions) => RequestBody;
227
244
  /** This will create a infinite loop running in 1 seconds using tail recursion to keep rate limits clean. When a rate limit resets, this will remove it so the queue can proceed. */
@@ -897,6 +914,20 @@ export interface RestManager {
897
914
  rules: (guildId: BigString) => Promise<Camelize<DiscordAutoModerationRule[]>>;
898
915
  };
899
916
  };
917
+ /**
918
+ * Creates a guild.
919
+ *
920
+ * @param options - The parameters for the creation of the guild.
921
+ * @returns An instance of the created {@link DiscordGuild}.
922
+ *
923
+ * @remarks
924
+ * ⚠️ This route can only be used by bots in __fewer than 10 guilds__.
925
+ *
926
+ * Fires a _Guild Create_ gateway event.
927
+ *
928
+ * @see {@link https://discord.com/developers/docs/resources/guild#create-guild}
929
+ */
930
+ create: (options: CreateGuild) => Promise<Camelize<DiscordGuild>>;
900
931
  /**
901
932
  * Gets the list of channels for a guild.
902
933
  *
@@ -909,6 +940,19 @@ export interface RestManager {
909
940
  * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-channels}
910
941
  */
911
942
  channels: (guildId: BigString) => Promise<Camelize<DiscordChannel[]>>;
943
+ /**
944
+ * Deletes a guild.
945
+ *
946
+ * @param guildId - The ID of the guild to delete.
947
+ *
948
+ * @remarks
949
+ * The bot user must be the owner of the guild.
950
+ *
951
+ * Fires a _Guild Delete_ gateway event.
952
+ *
953
+ * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild}
954
+ */
955
+ delete: (guildId: BigString) => Promise<void>;
912
956
  /**
913
957
  * Gets the list of emojis for a guild.
914
958
  *
@@ -1546,7 +1590,7 @@ export interface RestManager {
1546
1590
  *
1547
1591
  * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message}
1548
1592
  */
1549
- followup: (token: string, options: InteractionResponse) => Promise<Camelize<DiscordMessage>>;
1593
+ followup: (token: string, options: InteractionCallbackData) => Promise<Camelize<DiscordMessage>>;
1550
1594
  /**
1551
1595
  * Sends a response to an interaction.
1552
1596
  *
@@ -1676,6 +1720,111 @@ export interface RestManager {
1676
1720
  };
1677
1721
  };
1678
1722
  };
1723
+ /** Role related helpers methods. */
1724
+ roles: {
1725
+ /**
1726
+ * Adds a role to a member.
1727
+ *
1728
+ * @param guildId - The ID of the guild the member to add the role to is in.
1729
+ * @param userId - The user ID of the member to add the role to.
1730
+ * @param roleId - The ID of the role to add to the member.
1731
+ *
1732
+ * @remarks
1733
+ * Requires the `MANAGE_ROLES` permission.
1734
+ *
1735
+ * Fires a _Guild Member Update_ gateway event.
1736
+ *
1737
+ * @see {@link https://discord.com/developers/docs/resources/guild#add-guild-member-role}
1738
+ */
1739
+ add: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>;
1740
+ /**
1741
+ * Creates a role in a guild.
1742
+ *
1743
+ * @param guildId - The ID of the guild to create the role in.
1744
+ * @param options - The parameters for the creation of the role.
1745
+ * @returns An instance of the created {@link DiscordRole}.
1746
+ *
1747
+ * @remarks
1748
+ * Requires the `MANAGE_ROLES` permission.
1749
+ *
1750
+ * Fires a _Guild Role Create_ gateway event.
1751
+ *
1752
+ * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-role}
1753
+ */
1754
+ create: (guildId: BigString, options: CreateGuildRole, reason?: string) => Promise<Camelize<DiscordRole>>;
1755
+ /**
1756
+ * Deletes a role from a guild.
1757
+ *
1758
+ * @param guildId - The ID of the guild to delete the role from.
1759
+ * @param roleId - The ID of the role to delete.
1760
+ *
1761
+ * @remarks
1762
+ * Requires the `MANAGE_ROLES` permission.
1763
+ *
1764
+ * Fires a _Guild Role Delete_ gateway event.
1765
+ *
1766
+ * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-role}
1767
+ */
1768
+ delete: (guildId: BigString, roleId: BigString) => Promise<void>;
1769
+ /**
1770
+ * Edits a role in a guild.
1771
+ *
1772
+ * @param guildId - The ID of the guild to edit the role in.
1773
+ * @param roleId - The ID of the role to edit.
1774
+ * @param options - The parameters for the edit of the role.
1775
+ * @returns An instance of the edited {@link DiscordRole}.
1776
+ *
1777
+ * @remarks
1778
+ * Requires the `MANAGE_ROLES` permission.
1779
+ *
1780
+ * Fires a _Guild Role Update_ gateway event.
1781
+ *
1782
+ * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role}
1783
+ */
1784
+ edit: (guildId: BigString, roleId: BigString, options: EditGuildRole) => Promise<Camelize<DiscordRole>>;
1785
+ /**
1786
+ * Edits the positions of a set of roles.
1787
+ *
1788
+ * @param guildId - The ID of the guild to edit the role positions in.
1789
+ * @param options - The parameters for the edit of the role positions.
1790
+ * @returns A collection of {@link DiscordRole} objects assorted by role ID.
1791
+ *
1792
+ * @remarks
1793
+ * Requires the `MANAGE_ROLES` permission.
1794
+ *
1795
+ * Fires a _Guild Role Update_ gateway event for every role impacted in this change.
1796
+ *
1797
+ * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role-positions}
1798
+ */
1799
+ positions: (guildId: BigString, options: ModifyRolePositions[]) => Promise<Camelize<DiscordRole[]>>;
1800
+ /**
1801
+ * Gets the list of roles for a guild.
1802
+ *
1803
+ * @param guildId - The ID of the guild to get the list of roles for.
1804
+ * @returns A collection of {@link DisorcRole} objects assorted by role ID.
1805
+ *
1806
+ * @remarks
1807
+ * ⚠️ This endpoint should be used sparingly due to {@link User} objects already being included in guild payloads.
1808
+ *
1809
+ * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-roles}
1810
+ */
1811
+ list: (guildId: BigString) => Promise<Camelize<DiscordRole[]>>;
1812
+ /**
1813
+ * Removes a role from a member.
1814
+ *
1815
+ * @param guildId - The ID of the guild the member to remove the role from is in.
1816
+ * @param userId - The user ID of the member to remove the role from.
1817
+ * @param roleId - The ID of the role to remove from the member.
1818
+ *
1819
+ * @remarks
1820
+ * Requires the `MANAGE_ROLES` permission.
1821
+ *
1822
+ * Fires a _Guild Member Update_ gateway event.
1823
+ *
1824
+ * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member-role}
1825
+ */
1826
+ remove: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>;
1827
+ };
1679
1828
  };
1680
1829
  /** Webhook related helper methods. */
1681
1830
  webhooks: {
@@ -1869,6 +2018,21 @@ export interface RestManager {
1869
2018
  */
1870
2019
  channel: (userId: BigString) => Promise<Camelize<DiscordChannel>>;
1871
2020
  };
2021
+ /**
2022
+ * Adds a role to a member.
2023
+ *
2024
+ * @param guildId - The ID of the guild the member to add the role to is in.
2025
+ * @param userId - The user ID of the member to add the role to.
2026
+ * @param roleId - The ID of the role to add to the member.
2027
+ *
2028
+ * @remarks
2029
+ * Requires the `MANAGE_ROLES` permission.
2030
+ *
2031
+ * Fires a _Guild Member Update_ gateway event.
2032
+ *
2033
+ * @see {@link https://discord.com/developers/docs/resources/guild#add-guild-member-role}
2034
+ */
2035
+ addRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>;
1872
2036
  /**
1873
2037
  * Adds a member to a thread.
1874
2038
  *
@@ -1967,6 +2131,20 @@ export interface RestManager {
1967
2131
  * @see {@link https://discord.com/developers/docs/interactions/application-commands#create-global-application-command}
1968
2132
  */
1969
2133
  createGlobalApplicationCommand: (command: CreateApplicationCommand) => Promise<Camelize<DiscordApplicationCommand>>;
2134
+ /**
2135
+ * Creates a guild.
2136
+ *
2137
+ * @param options - The parameters for the creation of the guild.
2138
+ * @returns An instance of the created {@link DiscordGuild}.
2139
+ *
2140
+ * @remarks
2141
+ * ⚠️ This route can only be used by bots in __fewer than 10 guilds__.
2142
+ *
2143
+ * Fires a _Guild Create_ gateway event.
2144
+ *
2145
+ * @see {@link https://discord.com/developers/docs/resources/guild#create-guild}
2146
+ */
2147
+ createGuild: (options: CreateGuild) => Promise<Camelize<DiscordGuild>>;
1970
2148
  /**
1971
2149
  * Creates an application command only accessible in a specific guild.
1972
2150
  *
@@ -2014,6 +2192,21 @@ export interface RestManager {
2014
2192
  * @see {@link https://discord.com/developers/docs/resources/channel#create-channel-invite}
2015
2193
  */
2016
2194
  createInvite: (channelId: BigString, options?: CreateChannelInvite) => Promise<Camelize<DiscordInvite>>;
2195
+ /**
2196
+ * Creates a role in a guild.
2197
+ *
2198
+ * @param guildId - The ID of the guild to create the role in.
2199
+ * @param options - The parameters for the creation of the role.
2200
+ * @returns An instance of the created {@link DiscordRole}.
2201
+ *
2202
+ * @remarks
2203
+ * Requires the `MANAGE_ROLES` permission.
2204
+ *
2205
+ * Fires a _Guild Role Create_ gateway event.
2206
+ *
2207
+ * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-role}
2208
+ */
2209
+ createRole: (guildId: BigString, options: CreateGuildRole, reason?: string) => Promise<Camelize<DiscordRole>>;
2017
2210
  /**
2018
2211
  * Creates a scheduled event in a guild.
2019
2212
  *
@@ -2151,6 +2344,19 @@ export interface RestManager {
2151
2344
  * @see {@link https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command}
2152
2345
  */
2153
2346
  deleteGlobalApplicationCommand: (commandId: BigString) => Promise<void>;
2347
+ /**
2348
+ * Deletes a guild.
2349
+ *
2350
+ * @param guildId - The ID of the guild to delete.
2351
+ *
2352
+ * @remarks
2353
+ * The bot user must be the owner of the guild.
2354
+ *
2355
+ * Fires a _Guild Delete_ gateway event.
2356
+ *
2357
+ * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild}
2358
+ */
2359
+ deleteGuild: (guildId: BigString) => Promise<void>;
2154
2360
  /**
2155
2361
  * Deletes an application command registered in a guild.
2156
2362
  *
@@ -2232,6 +2438,20 @@ export interface RestManager {
2232
2438
  * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#delete-original-interaction-response}
2233
2439
  */
2234
2440
  deleteOriginalInteractionResponse: (token: string) => Promise<void>;
2441
+ /**
2442
+ * Deletes a role from a guild.
2443
+ *
2444
+ * @param guildId - The ID of the guild to delete the role from.
2445
+ * @param roleId - The ID of the role to delete.
2446
+ *
2447
+ * @remarks
2448
+ * Requires the `MANAGE_ROLES` permission.
2449
+ *
2450
+ * Fires a _Guild Role Delete_ gateway event.
2451
+ *
2452
+ * @see {@link https://discord.com/developers/docs/resources/guild#delete-guild-role}
2453
+ */
2454
+ deleteRole: (guildId: BigString, roleId: BigString) => Promise<void>;
2235
2455
  /**
2236
2456
  * Deletes a scheduled event from a guild.
2237
2457
  *
@@ -2519,6 +2739,37 @@ export interface RestManager {
2519
2739
  editOriginalWebhookMessage: (webhookId: BigString, token: string, options: InteractionCallbackData & {
2520
2740
  threadId?: BigString;
2521
2741
  }) => Promise<Camelize<DiscordMessage>>;
2742
+ /**
2743
+ * Edits a role in a guild.
2744
+ *
2745
+ * @param guildId - The ID of the guild to edit the role in.
2746
+ * @param roleId - The ID of the role to edit.
2747
+ * @param options - The parameters for the edit of the role.
2748
+ * @returns An instance of the edited {@link DiscordRole}.
2749
+ *
2750
+ * @remarks
2751
+ * Requires the `MANAGE_ROLES` permission.
2752
+ *
2753
+ * Fires a _Guild Role Update_ gateway event.
2754
+ *
2755
+ * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role}
2756
+ */
2757
+ editRole: (guildId: BigString, roleId: BigString, options: EditGuildRole) => Promise<Camelize<DiscordRole>>;
2758
+ /**
2759
+ * Edits the positions of a set of roles.
2760
+ *
2761
+ * @param guildId - The ID of the guild to edit the role positions in.
2762
+ * @param options - The parameters for the edit of the role positions.
2763
+ * @returns A collection of {@link DiscordRole} objects assorted by role ID.
2764
+ *
2765
+ * @remarks
2766
+ * Requires the `MANAGE_ROLES` permission.
2767
+ *
2768
+ * Fires a _Guild Role Update_ gateway event for every role impacted in this change.
2769
+ *
2770
+ * @see {@link https://discord.com/developers/docs/resources/guild#modify-guild-role-positions}
2771
+ */
2772
+ editRolePositions: (guildId: BigString, options: ModifyRolePositions[]) => Promise<Camelize<DiscordRole[]>>;
2522
2773
  /**
2523
2774
  * Edits a scheduled event.
2524
2775
  *
@@ -2968,6 +3219,18 @@ export interface RestManager {
2968
3219
  * @see {@link https://discord.com/developers/docs/resources/channel#list-public-archived-threads}
2969
3220
  */
2970
3221
  getPublicArchivedThreads: (channelId: BigString, options?: ListArchivedThreads) => Promise<Camelize<DiscordArchivedThreads>>;
3222
+ /**
3223
+ * Gets the list of roles for a guild.
3224
+ *
3225
+ * @param guildId - The ID of the guild to get the list of roles for.
3226
+ * @returns A collection of {@link DisorcRole} objects assorted by role ID.
3227
+ *
3228
+ * @remarks
3229
+ * ⚠️ This endpoint should be used sparingly due to {@link User} objects already being included in guild payloads.
3230
+ *
3231
+ * @see {@link https://discord.com/developers/docs/resources/guild#get-guild-roles}
3232
+ */
3233
+ getRoles: (guildId: BigString) => Promise<Camelize<DiscordRole[]>>;
2971
3234
  /**
2972
3235
  * Gets a scheduled event by its ID.
2973
3236
  *
@@ -3128,6 +3391,21 @@ export interface RestManager {
3128
3391
  * @see {@link https://discord.com/developers/docs/resources/channel#crosspost-message}
3129
3392
  */
3130
3393
  publishMessage: (channelId: BigString, messageId: BigString) => Promise<Camelize<DiscordMessage>>;
3394
+ /**
3395
+ * Removes a role from a member.
3396
+ *
3397
+ * @param guildId - The ID of the guild the member to remove the role from is in.
3398
+ * @param userId - The user ID of the member to remove the role from.
3399
+ * @param roleId - The ID of the role to remove from the member.
3400
+ *
3401
+ * @remarks
3402
+ * Requires the `MANAGE_ROLES` permission.
3403
+ *
3404
+ * Fires a _Guild Member Update_ gateway event.
3405
+ *
3406
+ * @see {@link https://discord.com/developers/docs/resources/guild#remove-guild-member-role}
3407
+ */
3408
+ removeRole: (guildId: BigString, userId: BigString, roleId: BigString, reason?: string) => Promise<void>;
3131
3409
  /**
3132
3410
  * Removes a member from a thread.
3133
3411
  *
@@ -3192,7 +3470,7 @@ export interface RestManager {
3192
3470
  *
3193
3471
  * @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message}
3194
3472
  */
3195
- sendFollowupMessage: (token: string, options: InteractionResponse) => Promise<Camelize<DiscordMessage>>;
3473
+ sendFollowupMessage: (token: string, options: InteractionCallbackData) => Promise<Camelize<DiscordMessage>>;
3196
3474
  /**
3197
3475
  * Sends a response to an interaction.
3198
3476
  *