2008/10/27

@AngraMainyu:FavotterのRSSを取得して投稿する

@AngraMainyuに新機能追加。Favotter人気タブのRSSを取得して、最新1件を投稿する。Favotterに負荷がかからないよう、1日2回にした。


#! /usr/bin/ruby

require "time"
require "rubygems"
gem "twitter4r"
require "twitter"
require "pit"

require 'rss/2.0'
require 'open-uri'

begin
open('http://favotter.matope.com/rss.php?mode=best') do |http|
response = http.read

result = RSS::Parser.parse(response, false)

post = result.items[0].description
# 本当はpの前の空白はありません。
post.gsub!(/< p align=\"right\">.+?fav by/,'')
post.gsub!(/<.+?>/,'')
post.sub!(/\s/,' posted: ')
link = result.items[0].link

mess = ".@" + post + " " + link

config = Pit.get("AngraMainyu")
cl = Twitter::Client.new(config)
cl.status(:post,mess)
end
rescue
print "RuntimeError: ", $!, "\n";
end