不和请求
一个Discord HTTP客户端,自动处理全局和资源速率限制.
在找API Wrapper吗? 检查出来
@discord-interactions/api换句话说 这个软件包水平较低,与应用程序相比,在库中效果最好.
使用量
此软件包最能与 discord-api-types。开始,安装两个:
npm install discord-api discord-api-types
然后可以将两者结合(是否输入结果):
import Client from "discord-request";
import {
Routes,
RESTGetAPIApplicationGuildCommandsResult,
} from "discord-api-types/v10";
const instance = new Client();
const guildCommands = instance.get(
Routes.applicationGuildCommands(applicationId, guildId)
) as Promise<RESTGetAPIApplicationGuildCommandsResult>;
选项
在创建新客户端时, 您可以通过可选参数来配置 :
const instance = new Client({
retries: 0,
timeout: 1000,
globalRequestsPerSecond: 100,
onRateLimit: (data) => console.log({ data }),
});
下面列出的每个参数都是可选的.
api: 要使用的API URL 。 默认为https://discord.com/api。 。 。 .version:要使用的API版本. 默认为10。 。 。 .cdn: 要使用的 CDN URL 。 默认为https://cdn.discordapp.com。 。 。 .headers: 附加信头与每个请求一起发送的对象.userAgent:要使用的用户代理. 默认为Discord Request v0。 。 。 .retries: 如果请求失败, 重试的次数 。 默认为3。 。 。 .timeout: 需要等待的毫秒数才算出请求。 默认为15000(15秒) (英语).globalRequestsPerSecond: 每秒允许的全球请求数。 默认为50。 。 。 .shutdownSignal: 当您需要取消所有未完成的关闭应用程序的请求时, 中止符号将使用 .queueSweepInterval: 排入队列之间等待的毫秒数。 默认为0(不扫地. 如果您在持续的环境中使用不相容请求, 您应该设置此值 .bucketSweepInterval: 在打扫桶之间等待的毫秒数。 默认为0(不扫地. 如果您在持续的环境中使用不相容请求, 您应该设置此值 .onBucketSweep:见下文召回.onQueueSweep:见下文召回.onRateLimit:见下文召回.onRequest:见下文召回.
回电
onBucketSweep?: (swept: Map<string, Bucket>) => void;
桶扫完就跑 返回已删除桶的地图.
onQueueSweep?: (swept: Map<string, Queue>) => void;
队列扫描完成后运行 。 返回已删除队列的地图.
onRateLimit?: (data: RateLimitData) => void;
遇到利率限制时运行。 返回有关费率限制的信息.
onRequest?: (parameters: Route, resource: string, init: RequestInit, options: RequestOptions, retries: number) => void;
向 Discord API 发送请求时运行 。 返回用于发送请求的信息 .
贷项
这个代码来源于 @ IanMitchell's 交互 Kit: 不和请求和不和错误 根据Apache 2 许可证发放。 它被修改为将这些软件包合并在一起.