diff options
author | Tom Gilbert <tom@linuxbrit.co.uk> | 2005-07-27 16:32:32 +0000 |
---|---|---|
committer | Tom Gilbert <tom@linuxbrit.co.uk> | 2005-07-27 16:32:32 +0000 |
commit | 2a96c9198c1f6e13407d0999083f6ce5e0bc06fa (patch) | |
tree | b3b9247d275d9b554665bc22884104d266d2e757 /lib/rbot/plugins/fortune.rb | |
parent | 21949774b91eaec6ecde4eaa8ad121e2c0a36b87 (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.rb | 22 |
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-]+$/} |