X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Ffortune.rb;h=3e2ffdf719a7b7dbd1cfa729bc280c0d1cb3fb7e;hb=052217de30c59206d7025b582d4604557a747470;hp=d83d6a88c050d857bb80ada6e3cd0b0d4bdb4b46;hpb=3449fbea22b9eae423b60db80cb35950a22e81a9;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/fortune.rb b/data/rbot/plugins/fortune.rb index d83d6a88..3e2ffdf7 100644 --- a/data/rbot/plugins/fortune.rb +++ b/data/rbot/plugins/fortune.rb @@ -7,6 +7,9 @@ class FortunePlugin < Plugin Config.register Config::StringValue.new('fortune.path', :default => '', :desc => "Full path to the fortune executable") + Config.register Config::ArrayValue.new('fortune.options', + :default => ['-n', '350', '-s'], + :desc => "Options to be passed on to fortune") def help(plugin, topic="") "fortune [] => get a (short) fortune, optionally specifying fortune category || fortune categories => show categories" @@ -28,7 +31,7 @@ class FortunePlugin < Plugin end return nil unless fortune - + # Try setting the config entry config_par = {:key => 'fortune.path', :value => [fortune], :silent => true } debug "Setting fortune.path to #{fortune}" @@ -44,12 +47,15 @@ class FortunePlugin < Plugin ## Pick a fortune def fortune(m, params) - db = params[:db] fortune = find_fortune(m) m.reply "fortune executable not found (try setting the 'fortune.path' variable)" unless fortune + command = [fortune] + @bot.config['fortune.options'] + command << params[:db] + command.compact! + begin - ret = Utils.safe_exec(fortune, "-n", "350", "-s", db) + ret = Utils.safe_exec(*command) ## cleanup ret ret = ret.split(/\n+/).map do |l| @@ -88,7 +94,7 @@ class FortunePlugin < Plugin ## say 'em! m.reply "Fortune categories: #{categories.join ', '}" end - + end plugin = FortunePlugin.new plugin.map 'fortune categories', :action => "categories"