3 个不稳定版本

0.2.0 2022年10月17日
0.1.1 2022年10月17日
0.1.0 2022年10月16日

#4 in #leaderboard

MIT/Apache

16KB
262

retrommo-fetch


围绕 RetroMMO API 的小型 Rust 包装器。

使用方法

该库提供了一个预言,导出所有相关的类型和函数。

// Cargo.toml
[dependencies]
retrommo-fetch = "0.1.0"

// main.rs
use retrommo_fetch::prelude::*;

可用函数

get_leaderboard() ->排行榜

返回排行榜页面的迭代器。

注意:这是一个非异步函数。如果您在异步上下文中调用它,必须使用阻塞线程,例如 tokio::task::block_in_place

let mut leaderboard = get_leaderboard();

let page1 = leaderboard.try_next()?;
println!("Page 1: {:?}", page1);

let page2 = leaderboard.try_next()?;
println!("Page 2: {:?}", page2);

get_player(username: String) -> Result<Player, Error>

返回一个具有给定用户名的 Player 结构。

let player = get_player("Gliss").await?;
println!("{:#?}", player);

// Player {
//     rank: 25,
//     registered_at: 2020-11-10T05:05:02Z,
//     username: "Gliss",
//     time_played: 1009554.2688390692,
//     permissions: 0,
//     lifetime_experience: 313320,
// }

get_leaderboard_page(page: u32) -> Result<Leaderboard, Error>

返回具有给定页面上所有玩家条目的 Leaderboard 结构。如果没有提供页码(None),则返回第一页。

每页最多100个条目。

let page = get_leaderboard_page(Some(4)).await?;
for entry in page {
    println!("{:?}", entry);
}

get_top_players() -> 结果<LeaderboardPage, Error>

返回一个包含前100名玩家的 LeaderboardPage 结构。这是 get_leaderboard_page(None)get_leaderboard_page(Some(1)) 的别名。

get_online_players() -> Result<OnlineList, Error>

返回当前在线玩家的 Vec。请注意,这仅是他们用户名(String)。

get_online_players_full() -> Result<Vec<Player>, Error>

返回当前在线的 Player 结构体的 Vec。如果在线玩家很多,请小心使用此功能,因为它可能需要向API发出很多请求,由于限制。

get_registered_player_count() -> Result<u64, Error>

返回注册玩家的总数。

许可证

retrommo-fetch 源代码采用双重许可证,您可以选择以下之一:

由您选择。

依赖项

~5–18MB
~264K SLoC