babie steps

作業療法記録

fav_machine - favしたツイートの画像を保存するEarthquakeプラグインを書いた

Updated
このプラグインをsave_imageevent_chainに分割して、もっと汎用的にしました。使ってる人いないと思うけど、いればそちらをオススメします。

はい、予告どおりEarthquakeプラグインでございます。

はい、名前はアレです、おっさんなので。このプラグイン入れて常時起動しておけば、Earthquake上はもちろん、スマートフォンなんかのTwitterクライアントでfavしてもローカルに保存されます。Bitcasaのディレクトリなんか保存先に指定すればいいんじゃないでしょうか。

ちょっと話は逸れますが、特定のユーザーやキーワードを監視してツイートや画像を延々とBitcasaフォルダに溜め続けてBitcasaアカウントにそのフォルダのアクセス権与えるサービス(有料)を企画したんですが、Twitter API利用規約に「再配布禁止」って書いてあったので諦めました。そりゃそうだ。迂回方法なー。
ちなみにBitcasa APIは2013年10月24日現在まだありません。

インストール

Earthquake内で、

:plugin_install https://gist.github.com/babie/7076697

してください。

設定

Earthquake.config[:fav_machine] = {
  :dir => "~/.earthquake/fav_machine",
  :screen_names => ["babie"]
}

のように~/.earthquake/configに設定します。デフォルトで、~/.earthquake/fav_machineディレクトリが自動で作られ、自分がfavった画像が入ります。よく考えたら他人がfavった情報ってuser_streamに入ってなかったっけ?:screee_namesいらんかったかも。てへ。

使い方

マッスィーンなので自動です。

コード

ネスト深くてごちゃっとしてますねぇ。

Object#tryActiveSupportによる拡張です。この場合はeachできるならするって意味です。画像ついてないツイートのときはmediaが入ってないから。

んで、今のところ pic.twitter.com 画像URLのみサポートですわ。必要になったらnokogiri使ってtwitpicとかpixivとかもサポートするかも。需要ありそうだな。

ついさっきまで、デフォルト設定が「俺(babie)がふぁぼった画像を保存する」という、わりとひどい仕様になってたので、ユーザーの名前突っ込むように直したわ。てへ。

今後の拡張予定

あれだ、もっとマッスィーンっぽく色々できた方がいいかも。:retweet をチェインするとか。ちょっと考えるわ。

次回予告

明日もまたEarthquakeプラグインの予定です。ばいなり〜