12个版本
0.4.0 | 2023年6月25日 |
---|---|
0.3.4 | 2023年1月14日 |
0.3.3 | 2022年11月11日 |
0.3.1 | 2022年8月25日 |
0.1.1 | 2022年2月12日 |
#1133 in 异步
63 每月下载量
48KB
1K SLoC
egg-mode-extras
本项目包含一些可帮助使用egg-mode(一个用于访问Twitter API的Rust库)的工具。
特别是它包括具有速率限制感知的异步流,这使得请求例如数百万个Twitter账户的用户资料变得容易,而不必担心Twitter的速率限制。
use egg_mode_extras::{client::TokenType, Client};
use futures::stream::TryStreamExt;
use std::io::BufRead;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::from_config_file("keys.toml").await?;
let user_ids = std::io::stdin()
.lock()
.lines()
.filter_map(|line| {
line.map_or_else(
|error| Some(Err(error)),
|line| line.parse::<u64>().ok().map(Ok),
)
})
.collect::<Result<Vec<_>, _>>()?;
client.lookup_users_json(user_ids, TokenType::App).try_for_each(|user| async move {
println!("{}", user);
Ok(())
}).await?;
Ok(())
}
代码一团糟,大部分未经测试,尽管其中大部分已经从✨cancel-culture✨中抽象出来,在其中它得到了相当广泛的应用。
许可证
本项目采用Mozilla公共许可证,版本2.0。请参阅LICENSE文件以获取详细信息。
请注意,我们仅使用MPL来支持✨cancel-culture✨的使用,该软件目前以MPL发布。✨cancel-culture✨和本项目未来的版本可能将采用反资本主义软件许可证。
依赖
~13–29MB
~419K SLoC