6 个版本

0.1.0-alpha.102021年7月29日

#12#scp

MIT/Apache

27KB
547 代码行

scpsl-api

crates.io docs.rs

SCP: Secret Laboratory API 封装器(见 官方 API 参考)。

示例

use scpsl_api::server_info::{get, RequestParameters, Response};
use std::env::var;
use url::Url;

#[tokio::main]
async fn main() {
    let account_id = var("ACCOUNT_ID")
        .expect("Expected an account id in the environment")
        .parse::<u64>()
        .unwrap();
    let api_key = var("API_KEY").expect("Expected an account id in the environment");

    let parameters = RequestParameters::builder()
        .url(Url::parse("https://api.scpslgame.com/serverinfo.php").unwrap())
        .id(account_id)
        .key(api_key)
        .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>()
        )
    }
}

许可证

根据您的选择,许可协议为 Apache 许可证 2.0 版MIT 许可证
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在 scpsl-api 中的任何贡献,将如上双重许可,不附加任何额外条款或条件。

依赖项

~4–19MB
~259K SLoC