#!/usr/bin/ruby -Ku require 'rubygems' require 'twitter' require 'time' uname = "hero_bot" passwd = "xxxxxxxx" httpauth = Twitter::HTTPAuth.new(uname, passwd) BUZZTTER = "buzztter" DQ_JUMON = "dq_jumon" client = Twitter::Base.new(httpauth) buzztter_tweets = [] dq_jumon_tweets = [] client.friends_timeline.each{|tweet| if tweet[:user][:screen_name] == BUZZTTER then buzztter_tweets << tweet elsif (tweet[:in_reply_to_screen_name] == uname) \ || (tweet[:user][:screen_name] == DQ_JUMON) then dq_jumon_tweets << tweet end } buzztter_tweets.sort!{|a, b| # 最新順に念のため並べ替え Time::parse(b[:created_at]) <=> Time::parse(a[:created_at]) } hotword = nil buzztter_tweets.each{|tweet| candidates = tweet[:text] \ .gsub(/http:\/\/buzztter\.com[^ ]*/, '') \ .split(/,\s*/).collect{|item| item.gsub(/ */, '') } if candidates.first =~ /HOT:/ then hotword = "ベホマ" else hotword = candidates[rand(candidates.size)] end break } #dq_jumon_tweets if hotword then client.update("@#{DQ_JUMON} #{hotword}") end