せっかくTwitterに登録したのだから、縦書き文庫のホットエントリーを自動的にTwitterに流すことにしました。
Ocamlで作ったのですが、せっかくなので公開しておきます。
ocamlnetというライブラリのHttpClientモジュールを使っています。
let sm_update = "http://twitter.com/statuses/update.json" ;; let post_msg ~uid ~pwd ~msg () = let req = new Http_client.post sm_update [ ("status", msg); ] in let header = req # request_header `Effective in let hash = Netencoding.Base64.encode (Printf.sprintf "%s:%s" uid pwd) in let () = header # set_fields [ ("Content-Type", "application/x-www-form-urlencoded"); ("Authorization", Printf.sprintf "Basic %s" hash); ] in let () = req # set_request_header header in let pipeline = new Http_client.pipeline in pipeline # add req; pipeline # run () ;;
post_msg がメッセージをポストする関数です。uid にtwitterのユーザーID、pwdにパスワード、msgに投稿するメッセージを入れて下さい。
注意事項ですが、msgはライブラリの中で勝手にURL Encodeされるので、素のデータを渡してください(ちょっとハマリました)。
こうやってBotを作っておけば、サイトを何も更新していなくてもTwitterでは更新し続けている体裁に出来るのがいいですね。