作りましょう!![]()
キモトの関係で自分が発言したときに通知が欲しいですね
https://twitter.com/bulkneets/statuses/222928161023868929
#!perl
use strict;
use warnings;
use utf8;
use Config::Pit;
use AnyEvent::Twitter::Stream;
use Growl::Any;
use YAML::Syck;
my $icon = 'https://api.twitter.com/1/users/profile_image?screen_name=bulkneets';
my $growl = Growl::Any->new(appname => "キモトwatcher", events => ["ヤバイ"]);
my $done = AnyEvent->condvar;
my $config = pit_get("api.twitter.com", require => {
    consumer_key        => 'consumer key on twitter',
    consumer_secret     => 'consumer secret on twitter',
    access_token        => 'access token on twitter',
    access_token_secret => 'access token secret on twitter',
});
binmode STDOUT, ":utf8";
my $streamer = AnyEvent::Twitter::Stream->new(
    consumer_key    => $config->{consumer_key},
    consumer_secret => $config->{consumer_secret},
    token           => $config->{access_token},
    token_secret    => $config->{access_token_secret},
    method          => 'filter',
    follow          => '3523861',
    on_tweet        => sub {
        my $tweet = shift;
        #warn Dump $tweet;
        #warn $tweet->{source};
        if ($tweet->{source} =~ 'キモト') {
            my $text = $tweet->{text};
            $growl->notify("ヤバイ", "キモト", $text, $icon);
            warn $text;
        }
    },
    on_error => sub {
        my $error = shift;
        warn "ERROR: $error";
        $done->send;
    },
    on_eof => sub {
        $done->send;
    },
);
$done->recv;
Windows の Growl For Windows でも動作します。AnyEvent::Twitter::Stream の follow にスクリーンネームを渡していて少しハマったのは内緒。
token をどうやって取得するかは、プログラマなら知ってるはずなので頑張って下さい。
イベントで魚拓を取るも良し、メールするも良し、お役立て下さい。![]()
 
