# end\r
\r
class ::String\r
- def shorten(limit)\r
- if self.length > limit\r
- self+". " =~ /^(.{#{limit}}[^.!;?]*[.!;?])/mi\r
- return $1\r
- end\r
- self\r
- end\r
-\r
def riphtml\r
self.gsub(/<[^>]+>/, '').gsub(/&/,'&').gsub(/"/,'"').gsub(/</,'<').gsub(/>/,'>').gsub(/&ellip;/,'...').gsub(/'/, "'").gsub("\n",'')\r
end\r
end\r
end\r
title = "#{Bold}#{item.title.chomp.riphtml}#{Bold}" if item.title\r
- desc = item.description.gsub(/\s+/,' ').strip.riphtml.shorten(@bot.config['rss.text_max']) if item.description\r
+ desc = item.description.gsub(/\s+/,' ').strip.riphtml if item.description\r
link = item.link.chomp if item.link\r
- places.each { |loc|\r
- case feed.type\r
- when 'blog'\r
- @bot.say loc, "#{handle}#{date}#{item.category.content} blogged at #{link}"\r
- @bot.say loc, "#{handle}#{title} - #{desc}"\r
- when 'forum'\r
- @bot.say loc, "#{handle}#{date}#{title}#{' @ ' if item.title && item.link}#{link}"\r
- when 'wiki'\r
- @bot.say loc, "#{handle}#{date}#{item.title} has been edited by #{item.dc_creator}. #{desc} #{link}"\r
- when 'gmame'\r
- @bot.say loc, "#{handle}#{date}Message #{title} sent by #{item.dc_creator}. #{desc}"\r
- when 'trac'\r
- @bot.say loc, "#{handle}#{date}#{title} @ #{link}"\r
- unless item.title =~ /^Changeset \[(\d+)\]/\r
- @bot.say loc, "#{handle}#{date}#{desc}"\r
- end\r
- else\r
- @bot.say loc, "#{handle}#{date}#{title}#{' @ ' if item.title && item.link}#{link}"\r
+ line1 = nil\r
+ line2 = nil\r
+ case feed.type\r
+ when 'blog'\r
+ line1 = "#{handle}#{date}#{item.category.content} blogged at #{link}"\r
+ line2 = "#{handle}#{title} - #{desc}"\r
+ when 'forum'\r
+ line1 = "#{handle}#{date}#{title}#{' @ ' if item.title && item.link}#{link}"\r
+ when 'wiki'\r
+ line1 = "#{handle}#{date}#{title}#{' @ ' if item.title && item.link}#{link} has been edited by #{item.dc_creator}. #{desc}"\r
+ when 'gmame'\r
+ line1 = "#{handle}#{date}Message #{title} sent by #{item.dc_creator}. #{desc}"\r
+ when 'trac'\r
+ line1 = "#{handle}#{date}#{title} @ #{link}"\r
+ unless item.title =~ /^Changeset \[(\d+)\]/\r
+ line2 = "#{handle}#{date}#{desc}"\r
end\r
+ else\r
+ line1 = "#{handle}#{date}#{title}#{' @ ' if item.title && item.link}#{link}"\r
+ end\r
+ places.each { |loc|\r
+ @bot.say loc, line1, :overlong => :truncate\r
+ next unless line2\r
+ @bot.say loc, line2, :overlong => :truncate\r
}\r
end\r
\r