9 个版本 (破坏性更新)

使用旧的 Rust 2015

0.8.1 2021年1月2日
0.8.0 2017年3月25日
0.7.0 2016年11月4日
0.6.0 2016年6月30日
0.1.0 2015年11月27日

#1768 in 网页编程

Download history 89/week @ 2024-03-11 53/week @ 2024-03-18 26/week @ 2024-03-25 104/week @ 2024-04-01 25/week @ 2024-04-08 56/week @ 2024-04-15 76/week @ 2024-04-22 42/week @ 2024-04-29 39/week @ 2024-05-06 45/week @ 2024-05-13 45/week @ 2024-05-20 49/week @ 2024-05-27 49/week @ 2024-06-03 28/week @ 2024-06-10 43/week @ 2024-06-17 41/week @ 2024-06-24

每月 170 次下载
dishub 中使用

MIT 许可证

210KB
4.5K SLoC

discord-rs

注意:当前 crates.io 版本的 discord-rs 需要旧版本的 OpenSSL,可能无法编译。请使用 Git 依赖项

[dependencies]
discord = { git = "https://github.com/SpaceManiac/discord-rs" }

discord-rsRust 编写的用于 Discord 聊天客户端 API 的客户端库。

Discord API 可以分为三个主要组件:可以进行操作的 RESTful API,用于接收状态更新的基于 websocket 的永久连接,以及语音通话系统。

使用 Discord::newnew_cachefrom_bot_token 登录 Discord。得到的结果可以用来向 REST API 发送请求,发布消息并操作 Discord 状态。调用 connect() 将打开一个 websocket 连接,通过该连接可以接收事件。这两个通道足以编写一个简单的聊天机器人,它可以读取和响应消息。

为了更深入地跟踪 Discord 状态,可以使用在打开 Connection 时获得的 ReadyEvent 来初始化一个 State,并通过接收的事件保持更新。

要加入语音服务器,调用 Connection::voice 获取一个 VoiceConnection,然后使用 connect 加入频道,然后使用 playstop 控制播放。还可以操纵静音/禁言状态并接收音频。

有关更多详细信息,请浏览 源代码 或阅读 文档。有关示例,请浏览 示例目录

安装

在 Windows 上,discord-rs 当前需要类似 GNU 的环境。有关详细信息,请阅读安装指南

在所有平台上,discord-rs 有几个系统依赖项,应根据需要安装

  • pkg-config
  • openssl
  • libsodium(如果使用语音功能)
  • opus(如果使用语音功能)
  • ffmpeg(如果使用 ffmpeg 功能)
  • youtube-dl(如果使用 youtube-dl 功能)

依赖项

~9–14MB
~262K SLoC