14 个版本 (7 个破坏性版本)

0.8.0 2022年1月9日
0.7.0 2021年11月29日
0.6.1 2021年7月9日
0.5.1 2021年3月9日
0.1.0 2020年12月21日

#2 in #harmony

每月 39 次下载
用于 ilo-toki

MIT 许可证

105KB
2.5K SLoC

GitHub Workflow Status crates.io docs.rs docs.rs MSRV

Rust 实现的 Harmony 聊天协议。目前实现了一个轻量级客户端和一个客户端 API(由 hrpc 驱动),以及通过 hrpc-build 自动生成的 API。

要求

  • 最新稳定版的 Rust 和 Cargo。
  • 如果你使用 Nix,可以使用 nix-shell(或者如果你使用 flakes,则使用 nix develop)。
  • 否则,你需要安装 protobuf 并确保 protoc 在你的 PATH 环境变量中。
    • 如果 build.rs 失败,请确保设置
      • PROTOC 环境变量为你的 protoc 可执行文件
      • 并将 PROTOC_INCLUDE 环境变量设置为 protobuf 包含文件的所在位置,最可能是 /usr/share/include

示例

  • echo_bot:展示了在一个公会中运行的简单消息回声机器人。它会在其他人发布消息时重新发布消息。
  • message_log:展示了在一个公会中运行的简单消息日志机器人。它会在有人发布消息时将消息记录到控制台。
  • cmd_bot:一个更复杂的机器人,可以响应“命令”。这些命令是
    • r!ping:回复“Pong!用时 X 秒。”
    • r!hello:回复“你好,用户名!”
    • r!uptime:回复“运行了 X 秒。”
  • 机器人运行说明
    • 使用 GUILD_INVITE=invite cargo run --example example_name 运行机器人。
    • 确保机器人有必要的权限来查看频道/发送消息等。

库功能

  • 默认情况下,仅生成所有服务的基本公共 API。您可以通过启用以下列出的功能来根据需要自定义库
    • 启用 client_native 功能以使用 hyper 并在本地平台工作的轻量级客户端实现。
    • 启用 client_web 功能以实现适用于 Web 平台的轻量级客户端实现(WASM)。
    • 启用 client_backoff 功能以在速率限制的请求上启用请求重试。
    • 启用 gen_client 功能以生成客户端服务代码。
    • 启用 gen_server 功能以生成服务器服务代码。
    • (默认)启用 gen_chat 功能以生成聊天服务代码。
    • (默认)启用 gen_auth 功能以生成认证服务代码。
    • (默认)启用 gen_voice 功能以生成语音服务代码。
    • (默认)启用 gen_mediaproxy 功能以生成媒体代理服务代码。
    • (默认)启用 gen_harmonytypes 功能以生成通用 Harmony 类型。
    • (默认)启用 gen_sync 功能以生成同步服务代码。
    • (默认)启用 gen_emote 功能以生成表情服务代码。
    • (默认)启用 gen_profile 功能以生成个人资料服务代码。
    • (默认)启用 gen_batch 功能以生成批量服务代码。

MSRV

最低支持 Rust 版本:当前稳定版。

更改 MSRV 不被视为 semver 破坏性更改。

依赖项

~4–19MB
~285K SLoC