この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
前回、TwitterのAPIをRubyで実行させるためにRaspberryPi2にRubyをインストールしました。
前回の記事はコチラ。
【Raspberry Pi 2】悪戦苦闘!トラップだらけのRaspberry Pi 2の構築 其の2
今回はTwitterライブラリを導入し、簡単な自動フォローバックスクリプトを作ってCRONで定期的に自動実行させ、当初の目的であったRaspberryPi2で「自動フォローバック」を行うところまで行きたいと思います。
この機能を実装することによって、RaspberryPi2が「フォローされたらフォローバック」を定期的にやってくれます♪
以前だと「フォローされましたメール」が来たら、手動でフォローバックしていたのですが、そういった手間がなくなりました。
こういった手間が無くなるということはとっても素晴らしいことですよ!(面倒くさがりな私にとってはねw)
RaspberryPi2をTwitterボットにしよう。
TwitterのAPIキー取得
TwitterのAPIを実行するにはAPIキーが必要になります。
下記のサイトで取得出来ますので、自身のTwitterアカウントでログインして取得します。
dev.twitter.com
Twitterライブラリ導入
RubyにTwitterライブラリを導入します。
後々、自動アンフォロー機能も実装したいので「userstream」ライブラリもついでにインストールしておきます。
コマンド一発で入るので楽チンです。
gem install twitter
gem install userstream
はい。コレだけ。
簡単ですね。
Rubyスクリプトの作成
Twitterライブラリの導入が終わったら、「自動フォローバック」を行うスクリプトを作成します。
以下のスクリプトをコピペして、適当なディレクトリに配置します。
今回は/root直下に作成しましたが、キチンとするなら/usr/local/binの下や/scriptといったディレクトリを作成して配置すると良いでしょう。
配置後、実行権限を付与することを忘れずに!
root@ithinkit:~# vi twitter-follow-return.rb
require 'twitter'
USERNAME = '<span style="color: #ff0000;">自身のTwitterユーザ名</span>'
CONSUMER_KEY = '<span style="color: #ff0000;">取得したCONSUMER_KEY</span>'
CONSUMER_SEC = '<span style="color: #ff0000;">取得したCONSUMER_SECRET</span>'
ACCESS_TOKEN = '<span style="color: #ff0000;">取得したOAUTH_TOKEN</span>'
ACCESS_TOKEN_SEC = '<span style="color: #ff0000;">取得したOAUTH_TOKEN_SECRET</span>'
client = Twitter::REST::Client.new(
:consumer_key => CONSUMER_KEY,
:consumer_secret => CONSUMER_SEC,
:access_token => ACCESS_TOKEN,
:access_token_secret => ACCESS_TOKEN_SEC
)
followers = []
client.follower_ids(USERNAME).each do |id|
followers.push(id)
end
friends = []
client.friend_ids(USERNAME).each do |id|
friends.push(id)
end
client.follow(followers - friends)
スクリプトの動作は保障出来ないので自己責任でお願いします。
あと、APIキーの部分は自身のものを記載して下さい。
配置が完了したら、実行権限を付与しておきます。
root@ithinkit:~# chmod +x twitter-follow-return.rb
CRONへの登録
スクリプトの配置&権限付与が完了したら、定期的に自動実行させるためにCRONに登録します。
ユーザ毎に「crontab -e」コマンドで登録、もしくは/etc/crontabへ直接書き込みのどちらかへ登録します。
私は/etc/crontabへの登録が好みなのでそちらに登録しています。
例)30分毎に実行させる場合
root@ithinkit:~# vi /etc/crontab
30 * * * * root /root/.rbenv/shims/ruby /root/twitter-follow-return.rb
お好みの時間指定で登録すれば良いかと。
以上の設定でRaspberryPi2が30分毎に自動でフォローバックしてくれるようになります。
今回は自動フォローバックスクリプトを実装し、CRONへの登録して自動実行するところまで行いました。
今後はフォローが外されたら、自動でアンフォローする機能も実装していきたいと思いますが、それはまた次の機会で。
以上、あいしんくいっとでした。