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), # 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 { ... }, ); DESCRIPTION AnyEvent::Twitter::Stream is an AnyEvent user to receive Twitter streaming API, available at and . 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 use arguments 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, anyone 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 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. on_error on_eof on_keepalive on_delete Callback to execute when the stream send a delete notification. on_friends Only with the usertream method. Callback to execute when the stream send a list of friends. on_direct_message Only with the usertream method. Callback to execute when a direct message is received in the stream. on_event Only with the userstream method. Callback to execute when the stream send an event notification (follow, ...). additional agruments Any additional arguments are assumed to be parameters to the underlying API method and are passed to Twitter. NOTES To use the userstream method, Twitter recommend using the HTTPS protocol. For this, you need to set the ANYEVENT_TWITTER_STREAM_SSL environment variable, and install the Net::SSLeay module. AUTHOR Tatsuhiko Miyagawa 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