scpsl-api

crates.io docs.rs

A SCP: Secret Laboratory API wrapper (see official API reference).

Example

```rust use scpslapi::serverinfo::{get, RequestParameters, Response}; use std::env::var; use url::Url;

[tokio::main]

async fn main() { let accountid = var("ACCOUNTID") .expect("Expected an account id in the environment") .parse::() .unwrap(); let apikey = var("APIKEY").expect("Expected an account id in the environment");

let url = Url::parse("https://api.scpslgame.com/serverinfo.php").unwrap();

let parameters = RequestParameters::builder()
    .url(&url)
    .id(account_id)
    .key(api_key.as_str())
    .players(true)
    .build();

if let Response::Success(response) = get(&parameters).await.unwrap() {
    println!(
        "Total players on your servers: {}",
        response
            .servers()
            .iter()
            .map(|server| server.players_count().unwrap().current_players())
            .sum::<u32>()
    )
}

} ```