もふもふbotで実装していたけれど、あれにはちょっとバグがあったので改良。しかしなぜか日本語を検索できなくなったので、もふもふbotには実装していない。
まちかねこ調査隊アカウントには実装済み。あと、Rubyで関数を定義する方法をやっと学んだので、色々な関数を定義しました。詳細は後日書くかも。
#! /usr/bin/ruby
# encoding: utf-8
require "time"
require "rubygems"
require 'twitter'
require "/home/oka/Dropbox/Ruby/lib/Twitter/login"
def retweet(screen_name,keyword)
login(screen_name)
path = "/home/oka/Dropbox/Ruby/Twitter/#{screen_name}/"
search = Twitter::Search.new
tweetid = []
puts keyword
j = 1
#search.containing(keyword).no_retweets.result_type("recent").per_page(100).each do |r|
search.containing(keyword).result_type("recent").per_page(100).each do |r|
puts "#{r.id}:#{r.from_user}: #{r.text}"
tweetid[j] = r.id
j += 1
end
f1 = File::open("#{path}retweeted_maximum_#{keyword}.txt", "r") # http://goo.gl/k0ZNZ
maximum = f1.gets.to_i
f1.close
f2 = File::open("#{path}retweeted_maximum_#{keyword}.txt", "w") # http://goo.gl/k0ZNZ
f2.puts tweetid[1]
f2.close
k = j-1
while k>0
if tweetid[k] > maximum
Twitter.retweet(tweetid[k])
else
puts "No new tweets."
end # end of if
k += -1
end #end of while
end # end of def
これをrequireして、
retweet("s_machikaneko","#machikaneko")
のように使う。
この中で使われてる自前の関数login()の説明は、あとで。
最終更新:2011年07月12日 22:43