自分のTumblrからランダムに1時間毎にTwitterにPostするbotを作ったので、そのやりかたのメモメモ。
Tumblrから取得してTwitterにPostする手順
Tumblrから取得するのは普通にAPIを見ながらやってみた。
API | Tumblr
ここで困ったのが、http://hoge.tumblr.com/randomという感じでURLの最後にrandomというのを付けるとランダム記事に飛べるという機能があるんですが、
これ相当のAPIがなかったこと。
なので1度、TumblrAPIからtotal数を取得して、その値からランダム値を生成してランダムな記事のURLを再度TumblrAPIから取得しています。
Tumblrから1つの記事を取得するには以下のようなURLを指定すればよい。
typeでphotoを指定して写真を取りにいってます。
http://hoge.tumblr.com/api/read?start=0&num=1&type=photo
最近さくらインターネットを借りたので、せっかくなのでRubyで書いてみた。
ちなみにTwitterにPostするときは、定番そうなtwitter (0.7.0)を使っています。
RandomTumble - ソースコード
■ダウンロード
gist: 245238 - GitHub
使い方
RandomTumbleをnewするときにTumblrのidを渡して、random_post_twitterにTwitterのidとpasswordを渡します。
これでTumblrからランダムに1件抽出して、TwitterにPostされます。
ねっ!、簡単でしょ?
cronを設定する
さくらのコントロールパネルで、以下を設定する。
・実行コマンド
試行錯誤の結果このようになりました。
cd /home/User/code/ruby/; /usr/User/bin/ruby /home/User/code/ruby/twitter_bot.rb
[via]
Orvalで行こう!: さくらインターネット cron設定でRubyを動かす
・環境変数の設定
RUBYLIB - /home/User/lib
GEM_HOME - /home/User/lib/ruby/gem
これしとかないとrubygemsがありませんとエラーになってしまうので、忘れないように。
[via]
さくらサーバのCronでRubyを動かす時のメモ - まめ畑
・日時の設定
月 - *
日 - *
時 - */1
分 - 0
曜日すべてにチェック
初めのうちはテストとして5分ごとにして、動作確認しました。
作ったもの
tbacker (tback_bot) on Twitter
現時点で6500枚からランダムに選んでいますw
好きな人は好きになるはずっ!
■参考リンク
・Net::HTTP - Rubyリファレンスマニュアル
・twitter 0.7.0
- Newer: XCodeでWebkitをデバッグする方法
- Older: jQuery Plugin - 僕のmakeClass
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1230
- Listed below are links to weblogs that reference
- TumblrからランダムにURLを取得してTwitterにPostするbotを作ってみた from HouseTect, JavaScript Blog


