summaryrefslogblamecommitdiff
path: root/eg/twitter.pl
blob: b074641deb73dfca46081e419d1e022b2d67f7b0 (plain) (tree)

































                                                                                                                          
#!/usr/bin/perl
use strict;
use Net::Presque;
use AnyEvent::Twitter::Stream;

my $done = AE::cv;

my($user, $password, $method, %args) = @ARGV;

my $presque = Net::Presque->new(api_base_url => 'http://localhost:5000');

my $streamer = AnyEvent::Twitter::Stream->new(
    username => $user,
    password => $password,
    method   => $method || "sample",
    %args,
    on_tweet => sub {
        my $tweet = shift;
        $presque->create_job(queue_name => 'twitter_stream', user => $tweet->{user}{screen_name}, text => $tweet->{text});
    },
    on_error => sub {
        my $error = shift;
        warn "ERROR: $error";
        $done->send;
    },
    on_eof   => sub {
        $done->send;
    },
);

# uncomment to test undef $streamer
# my $t = AE::timer 1, 0, sub { undef $streamer };

$done->recv;