forestbot/plugins/rss.rb

36 lines
665 B
Ruby

require 'rss'
require 'yaml'
class RssEmitter
def initialize(bot)
@bot = bot
end
def start
cache = YAML.load_file('cache.yml')
while true
sleep 10
cache.each do |feed|
rss = RSS::Parser.parse(feed.url)
rss.items.each do |item|
if item.date > feed.date then
@send_link(rss, item)
end
end
end
File.write('cache.yml', cache.to_yaml)
end
end
def send_link(rss, item)
@bot.handlers.dispatch(:rss, rss.channel.title, item.link)
end
end
class Rss
include Cinch::Plugin
listen_to :rss
def listen(m, title, link)
print "#{title}: #{link}"
end
end