     @issues[issue]?
 
   add: (issue,time) ->
-    time = time || (new Date()).getTime()
+    time = time || (new Date()).getTime() 
     @issues[issue] = time
-
 
 
 module.exports = (robot) ->
   filters = new IssueFilters robot
 
-  # which version of the API being used
   useV2 = process.env.HUBOT_JIRA_USE_V2 || false
   # max number of issues to list during a search
   maxlist = process.env.HUBOT_JIRA_MAXLIST || 10
   # how long (seconds) to wait between repeating the same JIRA issue link
   issuedelay = process.env.HUBOT_JIRA_ISSUEDELAY || 30
+  # array of users that are ignored
+  ignoredusers = (process.env.HUBOT_JIRA_IGNOREUSERS.split(',') if process.env.HUBOT_JIRA_IGNOREUSERS?) || []
+
+  recentissues = new RecentIssues issuedelay
 
   get = (msg, where, cb) ->
     console.log(process.env.HUBOT_JIRA_URL + "/rest/api/latest/" + where)

    search msg, msg.match[2], (text) ->
      msg.reply text
  
  robot.hear /(\w+-[0-9]+)/ig, (msg) ->
    if msg.message.user.id is robot.name
      return
    
    for matched in msg.match
      if !recentissues.contains msg.message.user.room+matched
        info msg, matched, (text) ->
          msg.send text
        recentissues.add msg.message.user.room+matched

  robot.respond /save filter (.*) as (.*)/i, (msg) ->
    filter = filters.get msg.match[2]

            cb info
      else
        cb resultText + " (too many to list)"

  robot.respond /(show )?watchers (for )?(\w+-[0-9]+)/i, (msg) ->
    if msg.message.user.id is robot.name
      return

    watchers msg, msg.match[3], (text) ->
      msg.send text
  
  robot.respond /search (for )?(.*)/i, (msg) ->
    if msg.message.user.id is robot.name
