12 个版本

0.2.3 2022 年 2 月 13 日
0.2.2 2021 年 10 月 29 日
0.2.0 2021 年 7 月 29 日
0.1.9 2021 年 7 月 1 日
0.1.6 2021 年 5 月 27 日

1443网页编程

ISC 许可证

125KB
2.5K SLoC

ci-img cio-img lic-img doc-img

Rusty Interaction

本库提供了处理 Discord 交互 的类型和辅助函数。它还提供了一个 actix-web 后端处理系统,通过您的 API(而不是使用网关)处理交互。

入门

要安装此库,请将以下依赖项条目添加到您的 Cargo.toml 文件中

rusty_interaction = "0"

默认情况下,这仅暴露类型和安全性检查函数。如果您想使用处理器,请将以下内容添加到您的 Cargo.toml

[dependencies.rusty_interaction]
version = "0"
features = ["handler"]

请查看 文档示例,以熟悉库的使用。

基本机器人/处理器

请查看以下示例

贡献

非常欢迎! :D

当前拥有的功能

  • - 数据模型暴露
  • - 交互验证 (crate::security::verify_discord_message())
  • - 接收来自 Discord 的交互
  • - 将交互绑定到函数(使用宏的帮助)
  • - 正确响应来自 Discord 的交互
  • - 良好的系统用于发送后续消息。
  • - 良好的系统用于管理特定于服务器的命令。
  • - 支持组件(按钮、下拉菜单等)
  • - 不是一团乱糟糟的代码,只是能工作(哎呀...👀)

通过网关和您的端点接收交互之间的区别

网关要求您有一个 Discord 客户端来接收交互。设置自己的端点会使 Discord 将交互发送到您的 API 端点(例如 https://example.com/api/discord/interactions)。

如果您已经有了一个运行您服务的 API 并希望与 Discord 集成,这种方式接收交互可能会非常有兴趣。

一个显著的区别是,您不需要大多数功能的机器人或 OAuth 令牌。一些功能(如命令管理)需要机器人令牌。

好的,我想通过网关接收交互。你的库支持这一点吗?

如果想要通过网关接收交互,请查看 Serenity 或其他 之一。

依赖项

约2-19MB
约276K SLoC