]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blob - data/rbot/plugins/grouphug.rb
bans plugin: fix badword regular expression creation
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / grouphug.rb
1 # Plugin for the Ruby IRC bot (http://linuxbrit.co.uk/rbot/)
2 # (c) 2005 Mark Kretschmann <markey@web.de>
3 # Licensed under GPL V2.
4
5 require "net/http"
6
7
8 class GrouphugPlugin < Plugin
9   def help( plugin, topic="" )
10     return "Grouphug plugin. Confess! Usage: 'confess' for random confession, 'confess <number>' for specific one."
11   end
12
13   def confess(m, params)
14     path = "random"
15     path = "confessions/#{params[:num]}" if params[:num]
16     begin
17       data = bot.httputil.get_cached(URI.parse("http://grouphug.us/#{path}"))
18
19       reg = Regexp.new( '(<td class="conf-text")(.*?)(<p>)(.*?)(</p>)', Regexp::MULTILINE )
20       confession = reg.match( data )[4].ircify_html
21       confession = "no confession ##{params[:num]} found" if confession.empty? and params[:num]
22
23       m.reply confession
24     rescue
25       m.reply "failed to connect to grouphug.us"
26     end
27   end
28 end
29
30
31 plugin = GrouphugPlugin.new
32
33 plugin.map "grouphug [:num]", :action => :confess, :requirements => { :num => /\d+/ }
34 plugin.map "confess [:num]", :action => :confess, :requirements => { :num => /\d+/ }
35