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 在 网页编程
每月 126 次下载
29KB
566 行
Helldive_rs 2 Rust API 包装器
非官方 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