Skip to content

Instantly share code, notes, and snippets.

@acotie
Created September 14, 2009 11:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save acotie/186611 to your computer and use it in GitHub Desktop.
Save acotie/186611 to your computer and use it in GitHub Desktop.
#!/usr/bin/perl
use strict;
use warnings;
use Config::Pit;
use AnyEvent::Twitter;
use AnyEvent::Twitter::Stream;
use Mac::Growl ':all';
use Encode;
# Setting
my $config = pit_get("twitter.com");
my $done = AnyEvent->condvar;
my $app_img = "/Users/acotie/Pictures/flyer.jpg";
# Mac::Growl
RegisterNotifications("Tracking-TwitStream", [qw/nomal warn/],[qw/normal/]);
my $twitty = AnyEvent::Twitter->new(
username => $config->{username},
password => $config->{password},
);
# Tracking-Twitter-Streaming
my $streamer = AnyEvent::Twitter::Stream->new(
username => $config->{username},
password => $config->{password},
method => "track",
( track => 'perl,Perl,cpan,CPAN,#' ),
on_tweet => sub {
my $tweet = shift;
my $screen_name = Encode::encode('utf8',$tweet->{user}{screen_name});
my $text = Encode::encode('utf8',$tweet->{text});
PostNotification("Tracking-TwitStream", "nomal", $screen_name, $text, "", "", $app_img);
print "$screen_name: $text\n";
},
on_error => sub {
my $error = shift;
warn "ERROR: $error";
$done->send;
},
on_eof => sub {
$done->send;
},
);
$done->recv;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment