AnyEvent-Twitter-Stream

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

          ... I thought this has been there for a while but it wasn't.
        - Support partner-only endpoints: links and retweet        

0.11  Mon Mar  1 17:12:37 PST 2010
        - Added 'no_decode_json' option that passes the undecoded raw JSON to the callback

0.10  Sat Feb  6 17:55:28 PST 2010
        - Fixed a possible memory leak (hidekiy)

0.09  Mon Dec  7 16:45:06 PST 2009
        - Added on_keepalive and timeout options (Marc Mims)

0.08  Thu Sep 17 19:27:29 JST 2009
        - Added on_error to the handle (thanks to typester)

0.07  Mon Aug 31 04:06:18 PDT 2009
        - Fixed POD code to match with 0.05 API

0.06  Thu Aug 27 10:08:07 PDT 2009
        - filter track/follow params should be POST not GET (megamic)

Changes  view on Meta::CPAN

          http://groups.google.com/group/twitter-development-talk/browse_frm/thread/44bd32155dbf2c16

0.04  Wed Aug 26 01:59:30 PDT 2009
        - test_requires Test::TCP

0.03  Tue Aug 25 19:08:29 PDT 2009
        - Fixed a bug where undef $client doesn't really disconnect
          (Thanks to Daisuke Murase)

0.02  Sat Jul 18 18:20:18 PDT 2009
        - Ignore newline when kee-alive empty line is coming when no tweets are there
          (Thanks to Masayoshi Sekimura)

0.01  Mon Jul 13 13:46:08 2009
        - original version

README  view on Meta::CPAN

      # 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

README  view on Meta::CPAN

    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.

    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.

lib/AnyEvent/Twitter/Stream.pm  view on Meta::CPAN

    my $password        = delete $args{password};
    my $consumer_key    = delete $args{consumer_key};
    my $consumer_secret = delete $args{consumer_secret};
    my $token           = delete $args{token};
    my $token_secret    = delete $args{token_secret};
    my $method          = delete $args{method};
    my $on_connect      = delete $args{on_connect} || sub { };
    my $on_tweet        = delete $args{on_tweet};
    my $on_error        = delete $args{on_error} || sub { die @_ };
    my $on_eof          = delete $args{on_eof} || sub { };
    my $on_keepalive    = delete $args{on_keepalive} || sub { };
    my $on_delete       = delete $args{on_delete};
    my $on_friends      = delete $args{on_friends};
    my $on_direct_message = delete $args{on_direct_message};
    my $on_event        = delete $args{on_event};
    my $timeout         = delete $args{timeout};

    my $decode_json;
    unless (delete $args{no_decode_json}) {
        require JSON;
        $decode_json = 1;

lib/AnyEvent/Twitter/Stream.pm  view on Meta::CPAN

                    $on_friends->($tweet->{friends});
                }elsif($on_direct_message && $tweet->{direct_message}) {
                    $on_direct_message->($tweet->{direct_message});
                }elsif($on_event && $tweet->{event}) {
                    $on_event->($tweet);
                }else{
                    $on_tweet->($tweet);
                }
            }
            else {
                $on_keepalive->();
            }
        };

        $set_timeout->();

        $self->{connection_guard} = http_request($request_method, $uri,
            headers => {
                Accept => '*/*',
                ( defined $zlib ? ('Accept-Encoding' => 'deflate, gzip') : ()),
                Authorization => $auth,

lib/AnyEvent/Twitter/Stream.pm  view on Meta::CPAN

  # 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

lib/AnyEvent/Twitter/Stream.pm  view on Meta::CPAN


=item B<on_tweet>

Callback to execute when a new tweet is received. The argument is the tweet, a hashref documented at
L<https://dev.twitter.com/docs/api/1/get/statuses/show/%3Aid>.

=item B<on_error>

=item B<on_eof>

=item B<on_keepalive>

=item B<on_delete>

Callback to execute when the stream send a delete notification.

=item B<on_friends>

B<Only with the usertream method>. Callback to execute when the stream send a list of friends.

=item B<on_direct_message>



( run in 0.469 second using v1.01-cache-2.11-cpan-df04353d9ac )