def handle_rm(m, params)
key = params[:key].to_s.intern
value = params[:value]
unless @bot.config.items.has_key?(key)
m.reply _("no such config key %{key}") % {:key => key}
return
end
unless @bot.config.items[key].kind_of?(Config::ArrayValue)
m.reply _("config key %{key} is not an array") % {:key => key}
return
end
return if !@bot.auth.allow?(@bot.config.items[key].auth_path, m.source, m.replyto)
begin
@bot.config.items[key].rm(value)
rescue ArgumentError => e
m.reply _("failed to remove %{value} from %{key}: %{error}") % {:value => value, :key => key, :error => e.message}
return
end
handle_get(m,{:key => key})
m.reply _("this config change will take effect on the next restart") if @bot.config.items[key].requires_restart
m.reply _("this config change will take effect on the next rescan") if @bot.config.items[key].requires_rescan
end