im.kayac.comでiPhoneにtwitterのリプライを通知する
im.kayac.comというカヤックのサービスがあるんですが、これを使うとIMとかにHTTPとかメール経由で通知することができて、iPhoneにも対応したのでtwitterでリプライがあったら通知するスクリプト書いてみました。
#!/usr/bin/env perl
use strict;
use warnings;
use AnyEvent::Twitter::Stream;
use AnyEvent::HTTP;
use HTTP::Request::Common;
my $done = AnyEvent->condvar;
my $streamer = AnyEvent::Twitter::Stream->new(
username => 'twitter_username',
password => 'twitter_password',
method => 'filter',
track => '@twitter_username',
on_tweet => sub {
my $tweet = shift;
my $req = POST 'http://im.kayac.com/api/post/im_username', [
message => "$tweet->{user}{screen_name}: $tweet->{text}",
password => 'im_password',
];
my %headers = map { $_ => $req->header($_), } $req->headers->header_field_names;
my $r;
$r = http_post $req->uri, $req->content, headers => \%headers, sub { undef $r };
},
on_error => sub {
my $error = shift;
warn "ERROR: $error";
$done->send;
},
on_eof => sub {
$done->send;
},
);
$done->recv;
これを起動しておけば自分宛のtweetがiPhoneに通知されます。こんなかんじ。
いいかんじ。typester++
追記:POSTパラメータにhandlerというのを指定するとiPhoneで起動するアプリを指定できるというのをtypesterに教えてもらった。
handler => 'tweetie://',
とか書いておけば通知をタップするとtweetieを起動できる。便利!
- Prev Entry:Crypt::DHが遅いときはMath::BigInt::GMPを入れるといいらしい
- Next Entry:zshから辞書を引くの続き