blob: 184b6b1382d344d9b51ef9e9003ee5a1ee021395 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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-]+$/}
|