4个版本
0.1.3 | 2021年11月29日 |
---|---|
0.1.2 | 2021年4月7日 |
0.1.1 | 2021年2月15日 |
0.1.0 | 2021年1月13日 |
#7 in #harmony
每月 29 次下载
用于 harmony_rust_sdk
16KB
401 行
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
。
- 如果
示例
message_log
:展示了在公会中运行的简单消息日志机器人。当有人发布消息时,它将消息记录到控制台。- 机器人运行说明
- 使用以下命令运行机器人:`
GUILD_INVITE=invite cargo run --package example_name
`。 - 确保机器人具有查看频道、发送消息等必要的权限。
- 使用以下命令运行机器人:`
包功能
- 默认情况下,仅生成Harmony中使用的裸骨般的常用API类型。您可以通过启用以下列出的功能来根据需要自定义包
- 启用
gen_all_protocols
以启用所有协议,包括稳定和预发布。 - 启用
rkyv
功能以派生rkyv::{Archive, Deserialize, Serialize}
以支持所有 Harmony API 类型(除了batch
服务)。- 启用
rkyv_validation
以派生bytecheck::CheckBytes
以支持所有 Harmony API 类型,并启用rkyv/validation
。
- 启用
- 启用
serde_derive
功能以派生serde::{Deserialize, Serialize}
以支持所有 Harmony API 类型(除了batch
服务)。 - 启用
valuable
功能以派生valuable::Valuable
以支持所有 Harmony API 类型(除了batch
服务)。 - 自定义 hRPC 代码生成
- 启用
gen_client
功能以生成启用协议的客户端服务代码。 - 启用
gen_server
功能以生成启用协议的服务器服务代码。
- 启用
- 客户端
- 为使用
hyper
并在本地平台上运行的轻量级客户端实现启用client_native
功能。 - 为在 Web 平台上运行的轻量级客户端实现启用
client_web
功能(WASM)。 - 启用
client_backoff
功能以在限流请求上启用请求重试。
- 为使用
- 稳定协议(为所有启用
gen_stable_protocols
)- 启用
gen_chat
功能以生成聊天服务代码。 - 启用
gen_auth
功能以生成身份验证服务代码。 - 启用
gen_mediaproxy
功能以生成媒体代理服务代码。 - 启用
gen_harmonytypes
功能以生成常见的 Harmony 类型。 - 启用
gen_sync
功能以生成同步服务代码。 - 启用
gen_emote
功能以生成表情服务代码。 - 启用
gen_profile
功能以生成个人资料服务代码。 - 启用
gen_batch
功能以生成批处理服务代码。 - 启用
rest
功能以包含 REST API 代码。
- 启用
- 预发布协议(为所有启用
gen_staging_protocols
)- 启用
staging_gen_voice
功能以生成语音服务代码。 - 启用
staging_gen_bots
功能以生成机器人服务代码。
- 启用
- 启用
MSRV
最低支持的 Rust 版本:当前稳定版。
更改 MSRV 不被视为 semver-breaking 变更。
依赖项
~1.5MB
~35K SLoC