AnyEvent-Twitter-Stream
view release on metacpan or search on metacpan
NAME
AnyEvent::Twitter::Stream - Receive Twitter streaming API in an event
loop
SYNOPSIS
use AnyEvent::Twitter::Stream;
my $done = AE::cv;
# 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), # numeric 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 { ... },
);
$done->recv;
DESCRIPTION
AnyEvent::Twitter::Stream is an AnyEvent user to receive Twitter
streaming API, available at http://dev.twitter.com/pages/streaming_api
and http://dev.twitter.com/pages/user_streams.
See "track.pl" in eg for more client code example.
METHODS
my $streamer = AnyEvent::Twitter::Stream->new(%args);
username password
These arguments are used for basic authentication.
consumer_key consumer_secret token token_secret
If you want to use the OAuth authentication mechanism, you need to
set these arguments
method
The name of the method you want to use on the stream. Currently, any
one of :
firehose
sample
userstream
To use this method, you need to use the OAuth mechanism.
filter
With this method you can specify what you want to filter amongst
track, follow and locations.
See https://dev.twitter.com/docs/api/1.1/post/statuses/filter for
the details of the parameters.
api_url
Pass this to override the default URL for the API endpoint.
request_method
Pass this to override the default HTTP request method.
timeout
Set the timeout value.
on_connect
Callback to execute when a stream is connected.
on_tweet
Callback to execute when a new tweet is received. The argument is the
tweet, a hashref documented at
https://dev.twitter.com/docs/api/1/get/statuses/show/%3Aid.
( run in 0.556 second using v1.01-cache-2.11-cpan-39bf76dae61 )