文档可以在 https://docs.discordnet.dev/index.html 找到
Discord.Net 是一个获得麻省理工学院许可的开源项目,其开发完全由志愿者完成。如果您想在经济上支持我们的努力,请考虑:
我们的稳定版本可通过 Discord.Net 元包从 NuGet 获取:
各个组件也可以从 NuGet 安装:
网络钩子
文本命令和交互服务。
完整的 API 覆盖。
API 核心。仅实现实体和准系统功能。
Nightlies 是 Discord.NET 的版本,仍处于实验阶段,尚未发布。
它们可以通过 2 个不同的来源获得:
笔记
GitHub Packages 需要身份验证。您可以在这里找到更多信息。
.NET Core 1.1 在 Win7 及更早版本上不支持 WebSocket。自 .NET Core 2.1 发布以来,此问题已得到修复。如果您希望在旧平台上运行机器人,建议您的项目以 .NET Core 2.1 或更高版本为目标;或者,您可以选择安装 Discord.Net.Providers.WS4Net 包。
自 2022 年 7 月 19 日起,Discord 在其所有网站(包括 API)上仅支持 TLS1.2+。 .NET Framework 默认不支持此协议。如果您依赖 .NET Framework,建议将您的项目升级到net6-windows
。该框架支持 fx 引入的大多数仅限 Windows 的功能,并解决了 TLS 协议不匹配导致的启动错误。
该库通常遵守语义版本控制。软件包以MAJOR.MINOR.PATCH
版本格式发布。
PATCH组件的增量始终表示进行了仅限内部的更改,通常是错误修复。这些更改不会以任何方式影响面向公众的 API,并且始终保证与您的代码库以及代码库的任何预编译依赖项向前和向后兼容。
MINOR组件的增加表示对库进行了一些添加,并且此添加与之前的版本不向后兼容。但是,Discord.Net不保证少量添加的前向兼容性。换句话说,我们允许在次要版本升级上进行有限的破坏性更改。
由于 Discord API 的性质,我们经常需要向实体添加属性以支持最新的 API 更改。 Discord.Net 提供接口作为消费实体的方法;因此,向实体引入新字段在技术上是一个突破性的变化。主要版本升级通常表明对库进行了一些重大更改,因此我们对于为库中的每个次要添加添加主要版本犹豫不决。为了妥协,我们决定接口应仅被视为可使用的,并且您的应用程序通常不应实现接口。
对于实现接口的应用程序(例如在测试模拟中),我们对与 SemVer 的不一致表示歉意。
虽然我们永远不会在较小的构建中破坏 API(除了接口更改之外),但我们偶尔需要通过向方法引入参数来与 Discord 匹配上游的更改来破坏 ABI。因此,次要版本增量可能需要您重新编译代码,并且依赖项(例如插件)可能也需要在新版本上重新编译和重新发布。当进行二进制重大更改时,该更改将在发行说明中注明。
MAJOR组件的增加表示对库进行了重大更改;消费者应检查发行说明以确定需要进行哪些更改。
按照 Major.Minor 发布分支。发布后,补丁将被推送到这些分支。新的 NuGet 版本将在这些分支上标记。
开发分支,可在 MyGet 上找到。该分支是拉取请求的目标。
针对 Dev 的分支,添加新功能。请随意探索这些分支并在必要时提供反馈。
通常针对开发人员。这些分支用于使用新功能或现有功能返工来更新文档。