スターがつくと嬉しいですし速攻で知りたいですよね。そんな時は スター受け取り通知に対応した はてなブックマーク Web Hook と im.kayac.com を使って IM に通知しましょう。と、ここまで書いてから連打されたりするとひどいことになったり、そもそもはてなメッセージと同じじゃないの*1とか気づきました。
#!/usr/bin/env perl use strict; use warnings; use CGI qw/-utf8/; use CGI::Carp qw/fatalsToBrowser/; use DateTime::Format::W3CDTF; use LWP::UserAgent; use HTTP::Request::Common; use utf8; my $q = CGI->new; my $key = 'your-key-goes-here'; die 'authentication failed' if $q->param('key') ne $key; die 'only for star' if $q->param('status') ne 'star'; my $username = $q->param('username'); my $title = $q->param('title'); my $url = $q->param('url'); my $color = $q->param('color'); my $quote = $q->param('quote'); my $dt = DateTime::Format::W3CDTF->parse_datetime($q->param('timestamp'))->datetime; my $msg = sprintf 'id:%s が %s に「%s (%s)」というエントリのコメントに%sスターをつけたよ!', $username, $dt, $title, $url, $color; $msg .= "\n引用文「$quote」" if $quote; LWP::UserAgent->new->request(POST 'http://im.kayac.com/api/post/your-username', [message => $msg]); print $q->header(-type => 'text/plain'), 'OK';
*1:メッセージの IM 通知ってリアルタイムに来るんだっけ?