Small Rust wrapper around the RetroMMO API.
The library provides a prelude which exports all relevant types and functions.
// Cargo.toml
[dependencies]
retrommo-fetch = "0.2"
// main.rs
use retrommo_fetch::prelude::*;
Returns an iterator over the leaderboard pages.
Note: This is a non-async function. If you are calling it within an async
context, you must use a blocking thread, like 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);
Returns a Player
struct with the given username.
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,
// }
Returns a Leaderboard
struct with all the player entries on the given page.
This is 100 entries per page maximum.
let page = get_leaderboard_page(4).await?;
for entry in page {
println!("{:?}", entry);
}
Returns a LeaderboardPage
struct with the top 100 players. This is just an
alias for get_leaderboard_page(1)
.
Returns a Vec
of players that are currently online. Note that this is only
their usernames (String).
Returns a Vec
of Player
structs that are currently online. Be careful of
using this if many players are online, as it may require many requests to the
API due to limitations.
Returns the total number of registered players.
retrommo-fetch source code is dual-licensed under either
at your option.