Changeset 32930 for lang

Show
Ignore:
Timestamp:
04/29/09 04:59:44 (4 years ago)
Author:
maraigue
Message:

Daily automatic commitment of maraigue-twitter

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/maraigue-twitter/sunohara/sunohara.rb

    r32157 r32930  
    1313REDUCE_RATE = 3 # REDUCE_RATE発言に1発言が残る 
    1414 
    15 EXCLUDED = ["muskabot", "kyubotter", "chigatter", "drizzlebot"] 
     15EXCLUDED = ["muskabot", "kyubotter", "chigatter", "drizzlebot", "matayoshi"] 
    1616 
    1717class Sunohara < TwBot 
     
    3636                # Get friends/followers 
    3737                @config["last_get_followers"] ||= 0 
     38                @config["followers"] ||= [] 
     39                @config["followers_name"] ||= [] 
    3840                @config["follow_queue"] ||= [] 
    3941                @config["unfollow_queue"] ||= [] 
     
    5961                                } 
    6062                                followers = JSON.load(res.body).map{ |x| x["screen_name"]} 
     63                                 
     64                                @config["followers_name"] = JSON.load(res.body).map{ |x| x["name"]} 
     65                                @config["followers"] = followers 
    6166                                 
    6267                                @config["follow_queue"] = followers - friends 
     
    151156                end 
    152157                 
     158                if rand(50) == 0 && !(@config["followers"].empty?) 
     159                        i = rand(@config["followers"].size) 
     160                        result << "@#{@config["followers"][i]} 私は#{@config["followers_name"][i]}を客観的に見られるんです。あなたとは違うんです。 " 
     161                end 
     162                 
    153163                #puts result 
    154164                @logmsg += "(from #{data.size} posts: #{result.size} posts added)" 
     
    180190                # Posting to wassr 
    181191                post.force_encoding("UTF-8") if RUBY_VERSION >= "1.9.0" 
    182                 if post =~ /\A(.+)#{Regexp.quote(SUNOHARA_SUFFIX)}/ 
    183                         wpost = "#{$1}#{CHIGATTER_SUFFIX}#{$'}" 
     192                if post =~ /\A(.+)#{Regexp.quote(SUNOHARA_SUFFIX)}(?:\x20\.)?\z/ 
     193                        wpost = "#{$1}#{CHIGATTER_SUFFIX}" 
     194                elsif post =~ /\A(.+)#{Regexp.quote(CHIGATTER_SUFFIX)}(?:\x20\.)?\z/ 
     195                        wpost = post 
     196                        post = nil 
    184197                else 
    185                         wpost = post 
    186                 end 
    187                  
    188                 http = Net::HTTP.new('api.wassr.jp') 
    189                 unless @testmode 
     198                        wpost = nil 
     199                end 
     200                 
     201                unless @testmode || !wpost 
     202                        # Wassrへの投稿に失敗した場合はTwitterへも投稿しないので、 
     203                        # こちらは begin~end で括らない 
     204                        http = Net::HTTP.new('api.wassr.jp') 
    190205                        http.start do |w| 
    191206                                req = Net::HTTP::Post.new('/statuses/update.json') 
     
    201216                begin 
    202217                        http = Net::HTTP.new('twitter.com') 
    203                         unless @testmode 
     218                        unless @testmode || !post 
    204219                                http.start do |w| 
    205220                                        req = Net::HTTP::Post.new('/statuses/update.json')