summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--eg/twitter.pl34
1 files changed, 34 insertions, 0 deletions
diff --git a/eg/twitter.pl b/eg/twitter.pl
new file mode 100644
index 0000000..b074641
--- /dev/null
+++ b/eg/twitter.pl
@@ -0,0 +1,34 @@
+#!/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;