     if not found
       res.send 'Could not find any records matching the criteria.'
 
-  robot.respond /relay list/i, (res) =>
+  robot.respond /relay removeignore\s+(\S+)/i, (res) =>
+    robot.logger.info 'relay removeignore ' + res.match[1]
+    removeUser = S(res.match[1]).chompLeft('@').s
+
+    ignoreUsers = ignoreUsers.filter (user) -> user isnt removeUser
+    saveBrain()
+    res.send 'Stopped ignoring user \'' + removeUser + '\''
+
+  robot.respond /relay list$/i, (res) =>
     robot.logger.info 'relay list'
     res.send blockList(relays)
 
+  robot.respond /relay (listignore|ignorelist)$/i, (res) =>
+    robot.logger.info 'relay listignore'
+    res.send blockList(ignoreUsers)
+
 
   blockList = (collection, filter) =>
-    if not collection or collection.length is 0 then return ''
+    if not collection or collection.length is 0 then return '(empty)'
     filter ?= () -> true
     list = '```'
     for item in collection when filter(item)

      relay.on 'invalidChannel', invalidChannelError
      relay

  invalidChannelError = (relay) =>
    robot.logger.info 'invalidChannelError'
    remoteBot = relay.remote.client.self.name ? 'the remote bot'

#   relay add <local-channel> <remote-channel> <remote-token> - Adds a relay with a remote channel. *NOTE:* Tokens are private and this should be setup via Direct Messaging.
#   relay remove <local-channel> [<remote-channel>]- Removes a relay with a remote channel.
#   relay list - Lists all existing relays.
#   relay addignore <user> - Do not relay anything this user says, usually a bot.
#   relay removeignore <user> - Resume relaying anything the user says.
#   relay listignore - Lists all ignored users.
#
# Author:
#   davidkassa
