Crate twitter_stream [] [src]

Twitter Stream

A library for listening on Twitter Streaming API.

Usage

Add twitter-stream to your dependencies in your project's Cargo.toml:

[dependencies]
twitter-stream = "0.3"

and this to your crate root:

extern crate twitter_stream;

Overview

Here is a basic example that prints each Tweet's text from User Stream:

extern crate futures;
extern crate twitter_stream;
use futures::{Future, Stream};
use twitter_stream::{StreamMessage, Token, TwitterStream};

let token = Token::new("consumer_key", "consumer_secret", "access_key", "access_secret");

let stream = TwitterStream::user(&token).unwrap();

stream
    .for_each(|msg| {
        if let StreamMessage::Tweet(tweet) = msg {
            println!("{}", tweet.text);
        }
        Ok(())
    })
    .wait().unwrap();

In the example above, stream disconnects and returns an error when a JSON message from Stream has failed to parse. If you don't want this behavior, you can opt to parse the messages manually:

extern crate serde_json;

use twitter_stream::{StreamMessage, Token, TwitterJsonStream};

let stream = TwitterJsonStream::user(&token).unwrap();

stream
    .for_each(|json| {
        if let Ok(StreamMessage::Tweet(tweet)) = serde_json::from_str(&json) {
            println!("{}", tweet.text);
        }
        Ok(())
    })
    .wait().unwrap();

Reexports

pub use direct_message::DirectMessage;
pub use entities::Entities;
pub use error::Error;
pub use error::StreamError;
pub use error::Result;
pub use geometry::Geometry;
pub use list::List;
pub use message::StreamMessage;
pub use place::Place;
pub use tweet::Tweet;
pub use user::User;

Modules

direct_message

Direct messages

entities

Entities

error

Error types

geometry

Geometry object

list

Lists

message

Messages from Streaming API.

place

Place

tweet

Tweets

types

Common types used across the crate.

user

Users

Structs

Token

An OAuth token used to log into Twitter.

TwitterJsonStream

Same as TwitterStream except that it yields raw JSON string messages.

TwitterStream

A listener for Twitter Streaming API.

TwitterStreamBuilder

A builder for TwitterStream.