summaryrefslogtreecommitdiff
path: root/data/rbot
diff options
context:
space:
mode:
Diffstat (limited to 'data/rbot')
-rw-r--r--data/rbot/plugins/grouphug.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/data/rbot/plugins/grouphug.rb b/data/rbot/plugins/grouphug.rb
index 5a1890a2..45083e1c 100644
--- a/data/rbot/plugins/grouphug.rb
+++ b/data/rbot/plugins/grouphug.rb
@@ -10,6 +10,7 @@
# License:: GPL v2
class GrouphugPlugin < Plugin
+ START = '<div id="main"'
REG = Regexp.new('<div class="content">\s*<p>(.*?)</p>\s+</div>', Regexp::MULTILINE)
REGPOST = Regexp.new('title>(.*?) \| Group Hug')
def initialize
@@ -55,15 +56,16 @@ class GrouphugPlugin < Plugin
path = "confessions/#{params[:num]}"
opts.delete(:cache)
data = @bot.httputil.get("http://grouphug.us/#{path}", opts)
-
- res = data.scan(REG)
- confession = res[2][0].ircify_html # use res[2] to skip the new sidebar "Group Hug is run by one person..." and other text.
+ start = data.index(START)
+ res = data[start, data.length - start].scan(REG)
+ confession = res.first[0].ircify_html
confession = "no confession ##{params[:num]} found" if confession.empty? and params[:num]
m.reply confession
else # Cache random confessions
if @confessions.empty?
data = @bot.httputil.get("http://grouphug.us/#{path}", opts)
- res = data.scan(REG)
+ start = data.index(START)
+ res = data[start, data.length - start].scan(REG)
res.each do |quote|
@confessions << quote[0].ircify_html
end