rustgie

Crates.iorustgie
lib.rsrustgie
version0.2.0
sourcesrc
created_at2022-06-10 07:05:48.405134
updated_at2022-12-05 19:12:57.258387
descriptionA Bungie.net API client.
homepage
repositoryhttps://github.com/ashakoor/rustgie/
max_upload_size
id603382
size104,572
(ashakoor)

documentation

README

rustgie

A Bungie.net API client that does minimal wrapping and stays one-to-one with the official API documentation.
Still experimental, but it should fully work. Currently covers the full API surface of API v2.15.0 (Season of the Haunted)

Example

#[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(())
}

Differences vs. official documentation

  • Bitmask/flag enums that are represented as signed integers are now represented as unsigned
  • Bitmask/flag enum values with zero/multiple bits set (e.g. None, All) have been removed
  • Argument/property/etc. names have been changed from camelCase to snake_case to fit Rust convention

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 27

cargo fmt