twitter2growl.pl をちょっと改造して導入 #
どうも twhirl の調子が悪い ので、かわりを探していたのだが、どう考えても 投稿 «« 閲覧 なので、投稿は最悪 WEB でもいいやってことで、Growl に垂れ流す方法を探していたところ、
via #!shebang.jp : Twitter が更新されすぎてるので Growl で見る事に。。
とかいうのがあったので、頂いてきたところ、
Cannot decode string with wide characters
とか言われるので
--- twitter2growl.pl.org 2008-05-16 22:47:40.000000000 +0900
+++ twitter2growl.pl.new 2008-05-16 22:47:01.000000000 +0900
@@ -8,7 +8,7 @@
use JSON::Any;
use File::HomeDir qw(home);
use POSIX;
-use Encode ();
+use Encode;
use Path::Class qw(dir file);
use IO::Prompt;
use YAML;
@@ -61,7 +61,7 @@
POSIX::strftime($config->{date_format},
localtime(str2time($st->{created_at})));
$notify .= sprintf "(%s) %s - %s\
",
- $dt, $st->{user}->{screen_name}, $st->{text};
+ $dt, encode('utf8',$st->{user}->{screen_name}), encode('utf8',$st->{text});
}
if ($notify) {
Mac::Growl::PostNotification(
としたら動いてるっぽい
あとは cron で
*/5 * * * * twitter2growl.pl
とかするだけ
それにしても、Mac::Growl
とか IO::Prompt
とか File::HomeDir
とか、普段あまり使わないもののサンプルとしていいスクリプトだなぁ、と思った
あと、Path::Class
は便利そうなので、さわってみる
追記:
複数アカウントで運用する時は、スクリプトを別名コピーして、ファイル名に関する箇所 [config.yml (1 カ所) と .lastupdate (2 カ所)] を書き換えてしまうのが一番ラクチン