「特定のキーワードをリツイートする(Ruby bot)」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
[[もふもふbot]]で実装していたけれど、あれにはちょっとバグがあったので改良。しかしなぜか日本語を検索できなくなったので、もふもふbotには実装していない。[[まちかねこ調査隊アカウント>http://twitter.com/s_machikaneko]]には実装済み。あと、Rubyで関数を定義する方法をやっと学んだので、色々な関数を定義しました。詳細は後日書くかも。
#highlight(ruby,linenumber){{#! /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して、
#linenumber(ruby){{
retweet("s_machikaneko","#machikaneko")}}
のように使う。
この中で使われてる自前の関数login()の説明は、あとで。
#comment_num2()
[[もふもふbot]]で実装していたけれど、あれにはちょっとバグがあったので改良。しかしなぜか日本語を検索できなくなったので、もふもふbotには実装していない。[[まちかねこ調査隊アカウント>http://twitter.com/s_machikaneko]]には実装済み。あと、Rubyで関数を定義する方法をやっと学んだので、色々な関数を定義しました。詳細は後日書くかも。
#highlight(ruby,linenumber){{#! /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して、
#highlight(ruby){{retweet("s_machikaneko","#machikaneko")}}
のように使う。
この中で使われてる自前の関数login()の説明は、あとで。
#comment_num2()