5 个版本
0.1.4 | 2022年10月20日 |
---|---|
0.1.3 | 2022年10月11日 |
0.1.2 | 2022年10月6日 |
0.1.1 | 2022年10月4日 |
0.1.0 | 2022年10月4日 |
533 在 游戏 中
22KB
537 行
libosrs
一个用 Rust 编写的 Oldschool RuneScape API 库。可以将输出序列化为 JSON 格式。
示例
use libosrs;
use libosrs::gamemode::Gamemode;
#[tokio::main]
async fn main() {
let name = "Soupshi";
let mut gamemode: Gamemode = Gamemode::Auto;
let client = libosrs::ClientOSRS::new();
let soupshi = client.get_hiscore(name, gamemode).await.unwrap();
println!("Overall: {:#?}", soupshi.skills.overall);
println!("Agility level: {}", soupshi.skills.agility.level);
println!("Agility xp: {}", soupshi.skills.agility.xp);
println!("Vorkath rank: {}", soupshi.bosses.vorkath.rank);
println!("Vorkath kills: {}", soupshi.bosses.vorkath.score);
// Pass a Hiscore struct and return json
println!("JSON output: {}", soupshi.to_json());
// Try to retrieve a players current gamemode
gamemode = client.get_player_gamemode(name).await;
println!("{:#?}", gamemode);
// Request hiscore from API and return json
println!(
"JSON output: {}",
client.get_hiscore_json(name, gamemode).await
);
// Get Player struct and Player json
println!("{:#?}", client.get_player(name, gamemode).await);
println!(
"JSON output: {}",
client.get_player_json(name, gamemode).await
);
}
游戏模式
Gamemode::Auto
Gamemode::Regular
Gamemode::Ironman
Gamemode::Hardcore
Gamemode::Ultimate
Gamemode::Deadman
Gamemode::Seasonal
Gamemode::Tournament
Auto
将尝试从 Regular
、Ironman
、Hardcore
和 Ultimate
中获取玩家的当前游戏模式,即原本是 Iron Man 但转为普通模式的玩家将输出其普通游戏统计数据。只有在转换后获得 Xp 或 Boss 分数时才有效。
结构名
请参阅 docs.rs 页面。
待办事项
- 阻塞 I/O
- 不重新调用 RuneScape API 就序列化为 json
- 格式化程序
- 大交易所
依赖关系
~7–19MB
~281K SLoC