summaryrefslogtreecommitdiff
path: root/lib/rbot/plugins/fortune.rb
diff options
context:
space:
mode:
authorTom Gilbert <tom@linuxbrit.co.uk>2005-07-27 16:32:32 +0000
committerTom Gilbert <tom@linuxbrit.co.uk>2005-07-27 16:32:32 +0000
commit2a96c9198c1f6e13407d0999083f6ce5e0bc06fa (patch)
treeb3b9247d275d9b554665bc22884104d266d2e757 /lib/rbot/plugins/fortune.rb
parent21949774b91eaec6ecde4eaa8ad121e2c0a36b87 (diff)
move rbot into lib - still rearranging for packaging/installation
Diffstat (limited to 'lib/rbot/plugins/fortune.rb')
-rw-r--r--lib/rbot/plugins/fortune.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/rbot/plugins/fortune.rb b/lib/rbot/plugins/fortune.rb
new file mode 100644
index 00000000..184b6b13
--- /dev/null
+++ b/lib/rbot/plugins/fortune.rb
@@ -0,0 +1,22 @@
+class FortunePlugin < Plugin
+ def help(plugin, topic="")
+ "fortune [<module>] => get a (short) fortune, optionally specifying fortune db"
+ end
+ def fortune(m, params)
+ db = params[:db]
+ fortune = nil
+ ["/usr/games/fortune", "/usr/bin/fortune", "/usr/local/bin/fortune"].each {|f|
+ if FileTest.executable? f
+ fortune = f
+ break
+ end
+ }
+ m.reply "fortune binary not found" unless fortune
+ ret = Utils.safe_exec(fortune, "-n", "255", "-s", db)
+ m.reply ret.gsub(/\t/, " ").split(/\n/).join(" ")
+ return
+ end
+end
+plugin = FortunePlugin.new
+plugin.map 'fortune :db', :defaults => {:db => 'fortunes'},
+ :requirements => {:db => /^[^-][\w-]+$/}