29次发布

0.13.0 2021年7月17日
0.12.0 2021年1月12日
0.11.0 2020年10月20日
0.10.0 2020年7月11日
0.2.0 2017年2月26日

#2 in #listening

每月下载量 31次
用于 2 crates

MIT 许可证

46KB
716

Twitter Stream

Build Status Current Version Documentation

Rust库,用于监听Twitter流式API。

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
futures = "0.3"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
twitter-stream = "0.13"

以下是一个基本示例,以JSON格式打印@Twitter的公开提及

use futures::prelude::*;
use twitter_stream::{Token, TwitterStream};

#[tokio::main]
async fn main() {
    let token = Token::new("consumer_key", "consumer_secret", "access_key", "access_secret");

    TwitterStream::track("@Twitter", &token)
        .try_flatten_stream()
        .try_for_each(|json| {
            println!("{}", json);
            future::ok(())
        })
        .await
        .unwrap();
}

替代方案

egg-mode,一个Twitter API客户端crate,也实现了流式API客户端。下表显示了twitter-streamegg-mode之间的关键差异。

twitter-stream egg-mode
流消息类型 string::String<bytes::Bytes>(原始JSON字符串) StreamMessage(反序列化消息)
REST API集成
可定制HTTP客户端

如果您的应用程序不需要显式控制原始JSON字符串或底层HTTP客户端,则egg-mode可能是一个更好的选择。

许可证

除非明确说明,否则本项目根据MIT许可证(LICENSEhttps://opensource.org/licenses/MIT)授权。

依赖项

~1–13MB
~144K SLoC