#api-wrapper #api #wrapper #api-bindings #async

helldive_rs

A rust 为非官方的 Helldivers API 的包装器

4 个版本 (破坏性更新)

0.6.0 2024 年 3 月 17 日
0.5.0 2024 年 3 月 14 日
0.4.0 2024 年 3 月 14 日
0.3.1 2024 年 3 月 14 日

#1888网页编程

Download history 168/week @ 2024-03-09 100/week @ 2024-03-16 5/week @ 2024-03-23 31/week @ 2024-03-30 7/week @ 2024-04-06

每月 126 次下载

MIT 许可证

29KB
566

Helldive_rs 2 Rust API 包装器

GitHub Release Crates.io Version Crates.io Total Downloads Crates.io License

非官方 Helldivers API 的 Rust 包装器。此库提供了一种简单的方式来与 Helldivers API 交互并检索有关战争、星球、派系和区域的信息。

请注意,Helldivers API 是非官方的,并且可能随时更改。随着 API 的逆向工程,将添加更多功能。

本库与 Arrowhead Game Studios 或 Sony Interactive Entertainment 无关。强烈建议您负责任地使用 Helldivers API,并注意不要过度负载服务器... 比它们已经负载的还要多。

安装

在您的项目目录中运行以下 Cargo 命令

cargo add helldive_rs 

或将以下行添加到您的 Cargo.toml

[dependencies]
helldive_rs  = "0.6"

API 参考

该库提供了以下功能

get_status(war_id: i64, language: &str) -> Result<Status, HelldiversError>: Get the current status of a war.
get_war_info(war_id: i64) -> Result<WarInfo, HelldiversError>: Get information about a specific war.
get_war_time(war_id: i64) -> Result<WarTime, HelldiversError>: Get the current time of a war.
get_planet_name(id: i64) -> Option<String>: Get the name of a planet by its ID.
get_faction_name(id: i64) -> Option<String>: Get the name of a faction by its ID.
get_sector_name(id: i64) -> Option<String>: Get the name of a sector by its ID.
// utils
get_total_player_count(status: &Status) -> i64: Get the total number of players in a war.
get_top_planets_by_player_count(status: &Status, count: usize) -> Vec<(&PlanetStatus, i64)>: Get the top planets by player count.
get_faction_distribution(status: &Status) -> Hashmap<i64, i64>: Get the distribution of factions.

有关结构体及其字段的更多详细信息,请参阅源代码文档。

示例

use helldive_rs;
use helldive_rs::Language;
use tokio;

#[tokio::main]
async fn main() {
    // Get the current status of a war
    let war_id = 801; // The war ID for the current war
    let status = helldive_rs ::get_status(war_id, Language::English).await.unwrap();
    println!("Current Message: {}", status.global_events[0].message);

    // Get information about a specific war
    let war_info = helldive_rs ::get_war_info(war_id).await.unwrap();
    println!("War Start Date: {}", war_info.start_date);

    // Get the name of a planet by ID
    let planet_id = 0;
    let planet_name = helldive_rs ::get_planet_name(planet_id);
    println!("Planet Name: {}", planet_name);

    // Get the name of a faction by ID
    let faction_id = 1;
    let faction_name = helldive_rs ::get_faction_name(faction_id);
    println!("Faction Name: {}", faction_name);

    // Get the name of a sector by ID
    let sector_id = 0;
    let sector_name = helldive_rs ::get_sector_name(sector_id);
    println!("Sector Name: {}", sector_name);
}

贡献

欢迎贡献!如果您发现任何问题或对改进有建议,请在 GitHub 存储库上打开一个问题或提交一个拉取请求。

许可证

本项目根据 MIT 许可证授权。

依赖项

~6–21MB
~286K SLoC