         msg.send output.sort().join('\n')
 
   robot.respond /(?:sensu)? resolve event (?:http\:\/\/)?(.*)(?:\/)(.*)/i, (msg) ->
+    unless robot.auth.hasRole(msg.envelope.user, config.sensu_roles)
+      msg.send "Access denied."
+      return
     validateVars
     client = msg.match[1]
 

          msg.send "API returned an error for path silence/#{path}\ndata: #{JSON.stringify(data)}\nresponse:#{res.statusCode}: #{body}"

  robot.respond /(?:sensu)? remove stash (?:http\:\/\/)?(.*)/i, (msg) ->
    validateVars

    stash = msg.match[1]

#### Event methods ####
#######################
  robot.respond /sensu events(?: for (?:http\:\/\/)?(.*))?/i, (msg) ->
    unless robot.auth.hasRole(msg.envelope.user, config.sensu_roles)
      msg.send "Access denied."
      return
    validateVars
    if msg.match[1]
      client = '/' + msg.match[1]
