4 个版本 (2 个破坏性更新)

0.2.0 2022 年 12 月 5 日
0.1.1 2022 年 6 月 22 日
0.1.0 2022 年 6 月 18 日
0.0.1 2022 年 6 月 10 日

#1018网页编程

MIT/Apache 许可协议

1MB
16K SLoC

rustgie

一个对 Bungie.net API 进行最小包装并与官方 API 文档一一对应的 Bungie.net API 客户端。
仍处于实验阶段,但应该可以完全工作。目前覆盖了 API v2.15.0(幽灵季节)的完整 API 面积。

示例

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = rustgie::RustgieClientBuilder::new()
        .with_api_key("YOUR_API_KEY_HERE")
        .build()?;

    let manifest_response = client.destiny2_get_destiny_manifest(None::<&str>).await?;
    println!("{:#?}", manifest_response.version.expect("Manifest has no version"));

    let search_request_body = rustgie_types::user::ExactSearchRequest {
        display_name: Some("Cytraen".to_string()),
        display_name_code: 2213
    };

    let search_response = client.destiny2_search_destiny_player_by_bungie_name(
        rustgie_types::BungieMembershipType::All,
        search_request_body, None::<&str>).await?;

    println!("{:#?}", search_response[0].display_name.as_ref().expect("No display name found"));

    Ok(())
}

与官方文档的差异

  • 表示为有符号整数的位掩码/标志枚举现在表示为无符号
  • 位掩码/标志枚举值具有零/多个位被设置(例如 NoneAll)已被删除
  • 参数/属性等名称已从 camelCase 更改为 snake_case 以符合 Rust 习惯

许可证

根据您选择以下任意一种许可证:

任选其一。

贡献

除非您明确声明,否则任何有意提交以包含在您的工作中的贡献(根据 Apache-2.0 许可证定义),将按上述方式双重许可,不附加任何其他条款或条件。

依赖关系

~5–22MB
~341K SLoC