NAME

AnyEvent::Twitter::Stream - Receive Twitter streaming API in an event loop

SYNOPSIS

use AnyEvent::Twitter::Stream;

# receive updates from @following_ids
my $listener = AnyEvent::Twitter::Stream->new(
    username => $user,
    password => $password,
    method   => "filter",  # "firehose" for everything, "sample" for sample timeline
    follow   => join(",", @following_ids),
    on_tweet => sub {
        my $tweet = shift;
        warn "$tweet->{user}{screen_name}: $tweet->{text}\n";
    },
    on_keepalive => sub {
        warn "ping\n";
    },
    on_delete => sub {
        my ($tweet_id, $user_id) = @_; # callback executed when twitter send a delete notification
        ...
    },
    timeout => 45,
);

# track keywords
my $guard = AnyEvent::Twitter::Stream->new(
    username => $user,
    password => $password,
    method   => "filter",
    track    => "Perl,Test,Music",
    on_tweet => sub { },
);

# to use OAuth authentication
my $listener = AnyEvent::Twitter::Stream->new(
    consumer_key    => $consumer_key,
    consumer_secret => $consumer_secret,
    token           => $token,
    token_secret    => $token_secret,
    method          => "filter",
    track           => "...",
    on_tweet        => sub { ... },
);

DESCRIPTION

AnyEvent::Twitter::Stream is an AnyEvent user to receive Twitter streaming API, available at http://apiwiki.twitter.com/Streaming-API-Documentation

See "track.pl" in eg for more client code example.

AUTHOR

Tatsuhiko Miyagawa <miyagawa@bulknews.net>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

AnyEvent::Twitter, Net::Twitter::Stream