# File lib/rbot/core/config.rb, line 97
  def handle_set(m, params)
    key = params[:key].to_s.intern
    value = params[:value].join(" ")
    unless @bot.config.items.has_key?(key)
      m.reply _("no such config key %{key}") % {:key => key} unless params[:silent]
      return false
    end
    return false if !@bot.auth.allow?(@bot.config.items[key].auth_path, m.source, m.replyto)
    begin
      @bot.config.items[key].set_string(value)
    rescue ArgumentError => e
      m.reply _("failed to set %{key}: %{error}") % {:key => key, :error => e.message} unless params[:silent]
      return false
    end
    if @bot.config.items[key].requires_restart
      m.reply _("this config change will take effect on the next restart") unless params[:silent]
      return :restart
    elsif @bot.config.items[key].requires_rescan
      m.reply _("this config change will take effect on the next rescan") unless params[:silent]
      return :rescan
    else
      m.okay unless params[:silent]
      return true
    end
  end