2个版本
使用旧的Rust 2015
0.0.2 | 2018年3月29日 |
---|---|
0.0.1 | 2018年2月12日 |
#553 in HTTP客户端
790KB
4K SLoC
ezomyte
《暗黑破坏神》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