読者です 読者をやめる 読者になる 読者になる

ワンライナーで#sougofollowタグをつけている人をfollow

Twitter

注:コンピュータの専門的な内容です


最近 #followme とか #sougofollow なんかのハッシュタグをつける人が増えたよね

これは最近 #sougofollow タグをつけていてつぶやいた人をフォローするスクリプトです。みんなで使えば自動相互フォローで幸せかも!

動作環境

Linux, Mac, Windowsなんかで動くかも!
Windowsで動かすのはハードルが高いかもです。ごめんね

前準備

  • curlを用意します。Mac, Linuxならportとかaptitudeとかyumとかにあると思います。Windowsの人はバイナリをダウンロードしてパスを通してください。この説明が分からないなら諦めるが吉
  • rubyを用意します
  • Ruby Gem Twitterを用意します。
$ gem install twitter

コマンド

以下のコマンドのUSERNAMEとPASSWORDをそれぞれ自分のものに書き換えて実行してください。

% curl "http://pcod.no-ip.org/yats/search?query=%23sougofollow&lang=ja&rss" | ruby -e"username = 'USERNAME';password = 'PASSWORD';require 'rss';require 'uri';require 'open-uri';require 'rubygems';require 'twitter';def rm_html_tag(str);str.sub!(/<[^<>]*>/,'') while /<[^<>]*>/ =~ str;str;end;include Twitter;t = Base.new(HTTPAuth.new(username, password));RSS::Parser.parse(\$stdin.read).items.each{|tweet| puts rm_html_tag(tweet.author.name.to_s);begin;t.friendship_create rm_html_tag(tweet.author.name.to_s);rescue => e;p e;end;}"

実行結果例

mdr7506
necosuke
Dentwitte
kuebico
oshiborism
taka_w
YxMxZ
taka_pyon
YxMxZ
#<Twitter::General: (403): Forbidden - Could not follow user:
 YxMxZは既にあなた のリストに登録されています。>
res74
spumasa
ryosuke_nb
amamamamamamam
#<Twitter::General: (403): Forbidden - Could not follow user:
 amamamamamamamは既にあなたのリストに登録されています。>
amamamamamamam
#<Twitter::General: (403): Forbidden - Could not follow user:
 amamamamamamamは既にあなたのリストに登録されています。>
amamamamamamam
#<Twitter::General: (403): Forbidden - Could not follow user:
 amamamamamamamは既にあなたのリストに登録されています。>
amamamamamamam
#<Twitter::General: (403): Forbidden - Could not follow user:
 amamamamamamamは既にあなたのリストに登録されています。>
ootataneko
ameri1u1
issy_neko
ameri1u1
#<Twitter::General: (403): Forbidden - Could not follow user:
 ameri1u1は既にあなたのリストに登録されています。>
issy_neko

……

なぜワンライナーにしたし

っ通常版

require 'rss'
require 'uri'
require 'open-uri'
require 'rubygems'
require 'twitter'

def rm_html_tag(str)
  str.sub!(/<[^<>]*>/,"") while /<[^<>]*>/ =~ str
  str
end

username = "USERNAME"
password = "PASSWORD"
include Twitter
t = Base.new(HTTPAuth.new(username, password))
RSS::Parser.parse($stdin.read).items.each do |tweet|
  puts rm_html_tag(tweet.author.name.to_s)
  begin
    t.friendship_create rm_html_tag(tweet.author.name.to_s)
  rescue => e
    p e
  end
end