3 个不稳定版本

使用旧的 Rust 2015

0.2.0 2018年1月21日
0.1.1 2016年11月22日
0.1.0 2016年11月22日

#449游戏

ISC 许可证

57KB
957

ci-badge license-badge docs-badge

osu.rs

osu! API 的非官方 Rust 包。

文档

安装

将以下依赖项添加到您的 Cargo.toml 中

osu = "0.2"

并将其包含在项目中

extern crate osu;

示例

使用 hyperhyper-tls HTTPS 连接器,通过 ID 获取比赛开始时间

extern crate futures;
extern crate hyper;
extern crate hyper_tls;
extern crate osu;
extern crate tokio_core;

use futures::Future;
use hyper::client::{Client, HttpConnector};
use hyper_tls::HttpsConnector;
use osu::bridge::hyper::OsuHyperRequester;
use std::error::Error;
use std::env;
use tokio_core::reactor::Core;

fn try_main() -> Result<(), Box<Error>> {
    let mut core = Core::new()?;
    let client = Client::configure()
        .connector(HttpsConnector::new(4, &core.handle())?)
        .build(&core.handle());
    let key = env::var("OSU_KEY")?;

    let done = client.get_match(&key, 71641).map(|match| {
        println!("Match start time: {}", match.start_time);

        ()
    }).map_err(|_| ());

    core.run(done).expect("Error running core");

    Ok(())
}

fn main() {
    try_main().unwrap();
}

使用 reqwest,通过 ID 获取比赛开始时间

extern crate osu;
extern crate reqwest;

use osu::bridge::reqwest::OsuReqwestRequester;
use reqwest::Client;
use std::error::Error;

fn try_main() -> Result<(), Box<Error>> {
    let key = env::var("OSU_KEY")?;
    let client = Client::new();
    let match = client.get_match(&key, 71641)?;

    println!("Match start time: {}", match.start_time);

    Ok(())
}

fn main() {
    try_main().unwrap();
}

许可证

许可证信息在 LICENSE.md。简而言之,ISC。

依赖项

~0.7–12MB
~140K SLoC