@discord-interactions/request

中文文档
0.3.21发布于 2024/08/29Apache-2.0TypeScriptES Module近 30 天下载 3302

自动处理全局和资源率限制的 Discord HTTP 客户端

中文使用文档

不和请求

Discord server npm version npm downloads Tests status

一个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 许可证发放。 它被修改为将这些软件包合并在一起.

版本与发布记录

@discord-interactions/request 共发布 13 个版本,首次发布于 2022/07/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.3.21latest2024/08/292 年前
0.3.182024/03/132 年前
0.3.162023/03/083 年前
0.3.82022/11/183 年前
0.3.72022/11/173 年前
0.3.62022/08/164 年前

关于 @discord-interactions/request 的常见问题

@discord-interactions/request 是什么?

自动处理全局和资源率限制的 Discord HTTP 客户端

如何安装 @discord-interactions/request?

在项目目录运行 npm install @discord-interactions/request,或使用 pnpm add / yarn add / bun add。

@discord-interactions/request 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@discord-interactions/request 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@discord-interactions/request 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@discord-interactions/request 可以商用吗?

@discord-interactions/request 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@discord-interactions/request 的下载量有多少?

根据 npm 官方下载统计,@discord-interactions/request 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,302 次,日均约 110 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@discord-interactions/request 还在维护吗?

最新版本 0.3.21 发布于 2024/08/29(2 年前);至今共发布 13 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/07/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。