Twitterでフォロー返し・お礼メンションを送るRubyスクリプト
今更ながら、Rubyでtwitterのプラグインを使用し遊んでみました。
タイトルの通り、「Twitterでフォロー返し・お礼メンションを送るRubyスクリプト」です。
既に同様のタイトルでいくつかソースが公開されていますが、僕の環境ではうまく動作しないので書いてみました。
早速手順です。(※ruby・gemのセットアップは予め完了しているものとします。)
①TwitterGemをインストールします。
$gem install twitter
②Twitterアカウントを取得します。
③Twitterアプリケーションデベロッパー登録をします。
https://dev.twitter.com/apps/new
必須事項を適宜埋めてください。
④アプリケーションを読み書き可能に変更する。
デベロッパー登録が済むと、アプリの管理画面を表示できます。
そこで、「Settings」タブを選択し、「ApplicationType」で「Read, Write and Access direct messages」を選択します。
⑤ConsumerKeyなどをメモする。
以前は面倒な手順が必要でしたが、今が画面上から全て確認できます。
・ConsumerKey
・Consumer secret
・Access token
・Access token secret
をメモしておいてください。
以上で準備OKです。
follow.rbとか適当な名前でファイルを作成してください。
以下のようなコードになります。
# encoding: utf-8
require 'twitter'USER_NAME = 'あなたの名前'
Twitter.configure do |config|
config.consumer_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
config.consumer_secret = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
config.oauth_token = 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ'
config.oauth_token_secret = 'NNNNNNNNNNNNNNNNNNNNNNNNNNNNN'
end#フォロワーさんを取得します。
follower = Twitter.follower_ids(USER_NAME)["ids"]
#フォロー済みを取得します。
fol = Twitter.friend_ids(USER_NAME)["ids"]#フォロワーとフォロー済みの差分を取得し、「ファン」を抽出します。
fan = follower - followfan.each do |f|
#表示名を取得します
name = Twitter.user(f)["screen_name"]
#ユーザーをフォローします。
Twitter.follow(f)
#メンションを送ります。(メンション専用の関数が見当たらないので、@と表示名をくっつけてます。。)
Twitter.update("@" + name + " フォローありがとうございます!")
end
あとは
$ruby follow.rb
で実行すればOKです。
次は自動でフォローし続けるスクリプトをかけたらと思います。
=======================追記==============================
鍵アカへフォロー許可依頼を出した状態で再度スクリプトが実行されると、
エラーでこけちゃいます。対策が必要ですがとりあえず面倒臭いのでbegin rescure endで囲って拾うことにします。