#revolt #revolt-api #api-bindings

rive

Rive生态系统crate

8个版本 (5个稳定)

1.2.0 2023年9月21日
1.1.0 2023年8月26日
1.0.2 2023年6月21日
0.1.2 2023年4月12日

#770 in 数据结构

每月42次下载

LGPL-2.1-or-later

225KB
5K SLoC

Rive

Rive banner

Rive是一个简单而强大灵活的Rust crate生态系统,用于Revolt API。它实现了整个Revolt API,适合创建自定义客户端或机器人。

实现的主要原则是简单和直接。这使得它更容易理解,也更容易贡献。

生态系统包括rive-modelsrive-httprive-gateway等。下面将详细介绍。

主要的rive crate只是重新导出这些crate。尽管如此,建议单独使用crate以获得更多灵活性。

您可以在此加入支持服务器。

MSRV

最低支持的Rust版本为1.64。

Crates

这些是大多数用户一起使用以获得完整开发体验的crate。您可能不需要所有这些,但它们通常一起使用以实现您所需的大部分功能。

rive

一个包含所有其他crate的全能crate。它还提供了一个包含与Revolt交互所需所有内容的对象。这对于快速原型设计很有用。然而,建议为了更多的灵活性,单独使用每个crate。

rive-models

定义所有Revolt API实体结构、枚举和位掩码的模型。模型分为子模块,例如user用于包含特定于用户实体的类型,event用于包含来自WebSocket的事件,data用于包含用于API请求的字段。

可以使用Serde进行序列化或反序列化。

rive-http

支持所有Revolt REST API的HTTP客户端。它基于reqwest

rive-gateway

Revolt WebSocket API的实现。这负责从Revolt实时接收事件并发送一些信息。它基于tokio-tungstenite

它还包括一个基本的自动心跳机制(服务器ping以保持连接活跃)。如果您需要更高级的功能,例如服务器延迟测量,您将需要自行实现。

rive-autumn

Autumn的HTTP客户端,Autumn是一个负责在Revolt上存储文件和附件的微服务。基于reqwest和Tokio的异步I/O。

rive-cache-inmemory

内存缓存实现。

它处理传入的事件,根据事件类型和数据添加/修改/删除资源。

致谢

许可证

Crates在GNU Lesser General Public License v2.1下分发。品牌资产在Apache License 2.0下分发。

依赖项

~9–23MB
~369K SLoC