   robot.brain.on 'loaded', ->
     robot.brain.data.ingressBadges ?= {}
 
-  robot.respond /(I|@?\w+) (?:have|has|got|earned)(?: the)? :?([\-\w,\s]+):? badges?/i, (msg) ->
+  robot.respond /(@?[.\w\-]+) (?:have|has|got|earned)(?: the)? :?([\-\w,\s]+):? badges?/i, (msg) ->
     who = msg.match[1].toLowerCase().replace '@', ''
     badgeNames = (msg.match[2].toLowerCase().replace /\s*/g, '').split ','
 

    else
      msg.reply "#{whowhat} no badges."

  robot.respond /(I|@?\w+) (?:do(?:n't|esn't| not)) have the :?([\-\w]+):? badge/i, (msg) ->
    who = msg.match[1].toLowerCase().replace '@', ''
    badgeName = msg.match[2].toLowerCase()


        msg.send "@#{who.name}: congrats on earning the :#{badgeNames.join ': :'}:
 badge#{if badgeNames.length > 1 then 's' else ''}!"

  robot.respond /wh(?:at|ich) badges? do(?:es)? (@?[.\w\-]+) have/i, (msg) ->
    who = msg.match[1].replace '@', ''

    if who.toLowerCase() == 'i'
