なんかお友達がTwitter botで遊んでみてるみたいなので便乗.
rubyからツイート
師匠のブログです.これの通りやったらRubyからツイートできると思います.
ただ,gemを gem install twitter
とやるよりは,bundlerを使ったほうが良い.
Gemfile
と言う名前でbotのディレクトリに以下を記述し,bundle install
を行う.
source 'https://rubygems.org' gem 'twitter'
小さいプログラムでもbundlerを使っておかないと後で悲しいことになる.
bundlerについては以下を参照.
自動ファボ
今回,#いいねした人全員フォローする
のハッシュタグをつけてるツイートを検索し,いいねをつけるプログラムを書きました.
やったことは,searchメソッド
を使い,条件に合うツイートを検索します.
そして,検索結果をresults配列に格納して,そのツイートをfavoriteメソッド
を用いてお気に入りに登録する.
この二つだけです.
REST APIを使っているので,上のRubyでのツイート
のところで紹介したブログを参考にして,Rubyプログラム上でのログインを行ってください.
require "twitter" client = Twitter::REST::Client.new do |config| config.consumer_key = "自分のConsumer Keyをコピペ" config.consumer_secret = "自分のConsumer Secretをコピペ" config.access_token = "自分のAccess Tokenをコピペ" config.access_token_secret = "自分のAccess Token Secretをコピペ" end results = client.search("#いいねした人全員フォローする", :count => 100, :result_type => "recent") results.attrs[:statuses].each do |tweet| id = tweet[:id].to_s client.favorite(id) end
コードを読んでいただくのが早いと思いますが,client.search("検索したい言葉", :count => 件数, :result_type => "recent")
とすると,検索したい言葉を件数分,results配列に格納することができます.
Twitterの高度な検索も使用することができるので,client.search("from:@yuki_99_s", :count => 100, :result_type => "recent")
とすれば,yuki_99_sさんのツイートから最新の100件を取得することができます.
高度な検索で使用できる演算子に関しては以下を参照してみてください.
http://sharetube.jp/article/800/
またいろいろいじっていきたいと思います.