m.reply "#{key}: #{@bot.config.items[key].desc}"\r
end\r
\r
+ def handle_search(m, params)\r
+ rx = Regexp.new(params[:rx].to_s, true)\r
+ cfs = []\r
+ @bot.config.items.each do |k, v|\r
+ cfs << v if k.to_s.match(rx) or (v.desc.match(rx) rescue false)\r
+ end\r
+ if cfs.empty?\r
+ m.reply _("no config key found matching %{r}") % { :r => params[:rx].to_s}\r
+ else\r
+ m.reply _("possible keys: %{kl}") % { :kl => cfs.map { |c| c.key}.join(', ') }\r
+ m.reply cfs.map { |c| [c.key, c.desc].join(': ') }.join("\n")\r
+ end\r
+ end\r
+\r
def handle_unset(m, params)\r
key = params[:key].to_s.intern\r
unless @bot.config.items.has_key?(key)\r
conf.map 'config describe :key',\r
:action => 'handle_desc',\r
:auth_path => 'show'\r
+conf.map 'config search *rx',\r
+ :action => 'handle_search',\r
+ :autho_path => 'show'\r
\r
conf.map "save",\r
:action => 'bot_save'\r