Plan9でTwitter

Plan9で使えるTwitterクライアントを紹介しよう。といっても単純なrcスクリプト。日本語も問題ない。スクリプトの実体はhgetのラッパで、パスワード認証にはfactotumを使っている。factotumはPlan 9の認証エージェントで、例えばssh-agentがSSH専用であるのに対して、P9やSSHの鍵認証やパスワード認証など、さまざまな用途に使える汎用の認証エージェントである。MacOSのKeychainに近いか。

tweetはAnthony Soraceさんが作ったスクリプトでたった10行。実質的には次の1行が肝で、投稿用のURIに対して、つぶやきをポストしている(-pオプションはPOSTの内容を指定)。これだけだったら他のシェルスクリプトでも同じぐらいの手間で実装できそうね。

hget -p 'source=hget&status='^$"msg $twitterapi^/statuses/update.json

さらにtweetを改良したMicroblogging on Plan 9ってのも存在する。

最初にtweetを実行するとパスワードの入力が促される。一度パスワードを入力すればfactotumが覚えておいてくれるので、後は省略できる。

% tweet こんにちは、世界!

!Adding key: proto=pass realm='Twitter API' server=twitter.com service=http
user[oraccha]: 
password: 
!

factotumに登録された鍵は次のように調べることができる。

% cat /mnt/factotum/ctl
key proto=pass realm='Twitter API' server=twitter.com service=http user=oraccha !password?

登録された鍵を削除するには次のように実行する。

% echo delkey 'proto=pass server=twitter.com service=http user=oraccha' > /mnt/factotum/ctl