10个不稳定版本 (4个破坏性版本)

0.4.0 2024年7月27日
0.3.0 2024年2月4日
0.2.0 2024年1月27日
0.1.1 2023年4月15日
0.0.0-alpha.02023年1月8日

#116 in 游戏开发

Download history 3/week @ 2024-07-05 149/week @ 2024-07-26 21/week @ 2024-08-02

170 每月下载量
用于 5 个Crate (4 个直接使用)

MPL-2.0 许可证

85KB
1.5K SLoC

Rust中的VRChat API

License Crates.io Docs

VRChat API的WIP Rust模型。

这是完全非官方的,与VRChat没有任何关联、认可、支持或创建。

非常感谢MIT许可的vrchatapi,这个crate从中借鉴了很多。如果您正在寻找一个更成熟的项目,请考虑查看他们的生成的rust crate

尽管如此,我不喜欢它的生成性质,并且希望有些东西有更强的Rust风格,这就是这个crate存在的原因。

还有很多东西缺失,如果您想帮忙,请参见贡献

状态 分类 计划
实现 身份验证 更多测试
头像 仅获取特定头像
经济
收藏夹 最终实现
文件
部分 朋友 即将实现
部分 群组 更多测试(需要VRC+ :/ )
邀请 仅列出邀请
部分 实例 即将实现
通知 最终实现
权限
系统 最终实现系统统计
部分 用户 计划不久实现
部分 世界 至少在短期内无

分类来自令人惊叹的VRChat API文档项目。

测试

集成测试与实时API交互。这就是为什么它们默认被忽略。

大多数测试都需要身份验证。

遗憾的是,并非所有事情都可以在没有创建模拟API的情况下可靠地测试。这反而违背了测试的初衷。因此,实际上只测试了一些行为,尽管对其的改进是受欢迎的。

手动创建用户会话

由于使用cookie以及2fa需要另一个请求,获取VRC的身份验证需要几个步骤。

您可以使用get_auth.py脚本方便地操作。它是在正式的 typed rust API客户端准备好之前创建的,它是Python编写的。注意,您应该之前从相同的IP地址登录过,因为VRChat对来自新IP地址的登录处理方式不同,这只会破坏一切。

运行被忽略的测试

请确保您有

  • 互联网连接
  • 一个有效的 user-session.json

然后只需运行测试;

# A specific test with output logging
cargo test --all-features current_user -- --exact --ignored --nocapture
# All tests
cargo test --all-features -- --ignored

贡献

编码

这个crate的目标是质量高于数量。这意味着合并的标准可能比一些人愿意处理的要高。请运行clippy检查,并与nightly cargo格式化一起检查CI检查是否通过。

尽管如此,欢迎任何贡献,只需将PR标记为维护者可编辑即可。这样,即使你不打算对反馈采取行动,改进也可能会最终返回到这里。

其他

如果你不想编码,创建GitHub问题报告错误行为将非常受欢迎。此外,了解实际的数据类型和继承模型,以及改进文档,将极大地帮助开发!另外,给这个GitHub仓库点赞也有助于提高对该crate进行更多工作的动力,该crate也为其他项目提供服务。

许可证

请注意,许可证是 MPL-2.0 而不是更常见的 MIT OR Apache-2.0

依赖项

~3–15MB
~211K SLoC