summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/rbot/plugins/grouphug.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/data/rbot/plugins/grouphug.rb b/data/rbot/plugins/grouphug.rb
new file mode 100644
index 00000000..73c21eee
--- /dev/null
+++ b/data/rbot/plugins/grouphug.rb
@@ -0,0 +1,33 @@
+# Plugin for the Ruby IRC bot (http://linuxbrit.co.uk/rbot/)
+# (c) 2005 Mark Kretschmann <markey@web.de>
+# Licensed under GPL V2.
+
+require "net/http"
+
+
+class GrouphugPlugin < Plugin
+ def help( plugin, topic="" )
+ "Grouphug plugin. Confess! Usage: 'confess' for random confession, 'confess <number>' for specific one."
+ end
+
+ def privmsg( m )
+ h = Net::HTTP.new( "grouphug.us", 80 )
+ path = "/random"
+ path = "/confessions/#{m.params()}" if m.params()
+ data = bot.httputil.get(URI.parse("http://grouphug.us/#{path}"))
+
+ reg = Regexp.new( '(<td class="conf-text")(.*?)(<p>)(.*?)(</p>)', Regexp::MULTILINE )
+ confession = reg.match( data )[4]
+ confession.gsub!( /<.*?>/, "" ) # Remove html tags
+ confession.gsub!( "\t", "" ) # Remove tab characters
+
+ @bot.say(m.replyto, confession)
+ end
+end
+
+
+plugin = GrouphugPlugin.new
+
+plugin.register("grouphug")
+plugin.register("confess")
+