2个版本

使用旧的Rust 2015

0.0.2 2018年3月29日
0.0.1 2018年2月12日

#553 in HTTP客户端

MIT 协议

790KB
4K SLoC

ezomyte

Build Status License

《暗黑破坏神》API客户端库

文档

警告:该包处于早期阶段,接口(特别是物品的数据模型)可能会随着时间的推移而演变。


安装

在项目的 Cargo.toml 中添加 ezomyte[dependencies]

[dependencies]
ezomyte = "0.0.2"

使用

ezomyte::Client 提供访问《暗黑破坏神》API各个部分的权限:公共储物(Client::stashes)、当前和过去的联赛(Client::leagues)等等。

所有端点都返回异步的 Stream,这些结构是从PoE API反序列化得到的。以下是一个简单的示例,访问公共储物标签并寻找独特稀有度的物品

extern crate ezomyte;
extern crate futures;
extern crate tokio_core;

use ezomyte::Rarity;
use futures::Stream;
use tokio_core::reactor::Core;

fn main() {
    let mut core = Core::new().unwrap();
    let client = ezomyte::Client::new("ezomyte example", &core.handle());
    core.run(
        client.stashes().all().for_each(|stash| {
            let uniques = stash.items.iter().filter(|i| i.rarity == Rarity::Unique);
            for item in uniques {
                // Prints something like "Belly of the Beast -- Full Wyrmscale".
                println!("{} -- {}",
                    item.name.as_ref().map(|n| n.as_str()).unwrap_or("<unnamed>"),
                    item.base);
            }
            Ok(())
        })
    ).unwrap();
}

有关更多示例,请参阅 “examples” 目录


开发

除了当前的Rust编译器和Cargo,您还需要

  • 任务运行器 just (cargo install just)
  • jq,命令行JSON处理工具 (apt-get install jq 或类似)

运行 just 将执行所有测试并编译示例。

依赖项

~15–24MB
~357K SLoC