DiscordGo
DiscordGo 是一个 Go 语言包,为 Discord 聊天客户端 API 提供低级绑定。DiscordGo 几乎完全支持所有 Discord API 端点、websocket 接口和语音接口。
如果您想帮助 DiscordGo 项目,请使用此链接将官方 DiscordGo 测试机器人 dgo 添加到您的服务器。这对本项目提供了不可或缺的帮助。
-
查看 dgVoice 包,了解 DiscordGo 的额外语音辅助功能和特性示例。
-
查看 dca 了解一个实验性独立工具,它封装了
ffmpeg
以创建适用于 Discord(和 DiscordGo)的 opus 编码音频。
如需获取此包的帮助或进行一般 Go 讨论,请加入 Discord Gophers 聊天服务器。
入门
安装
这假设您已经有一个可用的 Go 环境,如果没有,请先查看此页面。
go get
将始终从 master 分支拉取最新的标记版本。
go get github.com/bwmarrin/discordgo
使用
将包导入到您的项目中。
import "github.com/bwmarrin/discordgo"
构建一个新的 Discord 客户端,可用于访问各种 Discord API 功能并设置 Discord 事件的回调函数。
discord, err := discordgo.New("Bot " + "认证令牌")
有关更详细的信息,请参阅下面的文档和示例。
文档
注意:此库和 Discord API 尚未完成。因此,未来可能会对库进行重大更改。
DiscordGo 代码目前已有相当完善的文档,这是目前唯一可用的文档。Go 参考(见下文)以良好的格式呈现了这些信息。
示例
以下是使用 DiscordGo 的示例和其他项目列表。如果您想将您的项目添加或从此列表中删除,请提交一个 issue。
- DiscordGo 示例 - 使用 DiscordGo 编写的示例程序集合
- Awesome DiscordGo - 使用 DiscordGo 的高质量项目精选列表
故障排除
有关常见问题的帮助,请参阅项目 wiki 的故障排除部分。
贡献
非常欢迎贡献,但请遵循以下准则。
- 首先打开一个 issue 描述 bug 或增强功能,以便进行讨论。
- 尽量与当前的命名约定保持一致。
- 本包旨在作为 Discord API 的低级直接映射,因此请避免在未经讨论的情况下添加超出该范围的增强功能。
- 创建一个针对 master 分支的包含您更改的 Pull Request。
Discord API 列表
查看此图表了解功能比较和其他 Discord API 库列表。
特别感谢
Chris Rhodes - 提供 DiscordGo 标志和大量 PR。