monolithic kernel

Rubyに関するツイートをRTするTwitter Bot

Rubyに関するツイートをRTするTwitter Botを作ってみました。

ソースを全部は貼ると長くなるのでここにはメインの部分だけ。全文はgithubでご覧ください。

# rubyを含むツイートをトラッキング
Tracker.start(ACCOUNT, PASSWORD, 'ruby') do |status|
  # 本文にひらがな、カタカナを含まない場合はスキップ
  next unless status['text'] && status['text'] =~ /[ぁ-んァ-ヶ]/

  user = status['user']
  # 自分のツイートはスキップ
  next if user['screen_name'] == ACCOUNT

  # リプライ、ハッシュタグを@foo → @{foo}の形式に置換
  text = status['text'].gsub(/([\@\#])(\w+)/) { "#{$1}{#{$2}}" }

  # 140文字に切り詰める
  content = "RT $#{user['screen_name']}: #{text}".match(/\A.{1,140}/)[0]

  # Twitterにポスト
  twitter.update content
end