         msg.send formatQueryResult r for r in results when r.id
 
 ignoreOrReportEventsMe = (robot, gerrit) -> (msg) ->
-  project = msg.match[2]
-  ignoredProjects = (p for p in (robot.brain.data.gerrit?.eventStream?.ignoredProjects || []) when p isnt project)
-  ignoredProjects.push project if msg.match[1] == "ignore"
+  type = msg.match[2].toLowerCase()
+  thing = msg.match[3]
+  ignores = (t for t in ignoresOfType robot, type when t isnt thing)
+  ignores.push thing if msg.match[1] == "ignore"
 
   robot.brain.data.gerrit ?= { }
   robot.brain.data.gerrit.eventStream ?= { }
-  robot.brain.data.gerrit.eventStream.ignoredProjects = ignoredProjects
-  msg.send "Got it, the updated list of Gerrit projects to ignore is #{ignoredProjects.join(', ') || 'empty'}"
+  robot.brain.data.gerrit.eventStream.ignores ?= { }
+  robot.brain.data.gerrit.eventStream.ignores[type] = ignores
+  msg.send "Got it, the updated list of Gerrit #{type}s to ignore is #{ignores.join(', ') || 'empty'}"
 
 eventStreamMe = (robot, gerrit) ->
   robot.logger.info "Gerrit stream-events: Starting connection"

  else
    eventStreamMe robot, gerrit unless eventStreamRooms == "disabled"
    robot.respond /gerrit (?:search|query)(?: me)? (.+)/i, searchMe robot, gerrit
    robot.respond /gerrit (ignore|report)(?: me)? events for (.+)/i, ignoreOrReportEventsMe robot, gerrit

searchMe = (robot, gerrit) -> (msg) ->
  cp.exec "ssh #{gerrit.hostname} -p #{gerrit.port} gerrit query --format=JSON #{msg.match[1]}", (err, stdout, stderr) ->

# Hubot has to be running as a user who has registered a SSH key with Gerrit.
#
# hubot gerrit search <query> - Search Gerrit for changes - the query should follow the normal Gerrit query rules.
# hubot gerrit (ignore|report) events for (project|user|event) <thing> - Tell Hubot how to report Gerrit events.
#

# Required - The SSH URL for your Gerrit server.
