anchor.diff:          timezone != null ? getLocation(timezone) : theHundredClient.location;
       final now = new TZDateTime.now(location);
       final attachments = new Iterable.generate(games.length)
  -        .map((index) => _generateAttachment(games, index, now))
  +        .map((index) => _generateAttachment(games, index, now, shouldFilter))
           .toList();
       return createAttachmentsResponse(attachments);
     }
   
     /// Filters games by platform based on user input.
  -  List<Game> _filterByPlatform(List<Game> games, String option) {
  -    if (option == _OPTION_XBL) {
  -      _log.info('Focusing on Xbox');
  -      return games.where((game) => game.platform == Platform.xbox).toList();
  -    } else if (option == _OPTION_PSN) {
  -      _log.info('Focusing on Playstation');
  -      return games
  -          .where((game) => game.platform == Platform.playstation)
  -          .toList();
  -    } else {
  -      return games;
  +  List<Game> _filterByPlatform(List<Game> games, _Platform platform) {
  +    switch (platform) {
  +      case _Platform.xbox:
  +        _log.info('Focusing on Xbox');
  +        return games.where((game) => game.platform == Platform.xbox).toList();
  +      case _Platform.playstation:
  +        _log.info('Focusing on Playstation');
  +        return games
  +            .where((game) => game.platform == Platform.playstation)
  +            .toList();
  +      default:
  +        return games;
       }
     }
   
     /// Generates an attachment representing a game.
  -  Map _generateAttachment(List<Game> games, int index, TZDateTime now) {
  +  Map _generateAttachment(
  +      List<Game> games, int index, TZDateTime now, bool shouldFilter) {
       final game = games[index];
       final result = {};
       final date =
  
positive.code: const _OPTION_HELP = 'help';
  const _OPTION_XBL = 'xbl';
  const _OPTION_PSN = 'psn';
  
  const _COLORS = const ['#4285f4', '#f4b400', '#0f9d58', '#db4437'];
  
  /// Exposes LFG functionality.
  class LfgHandler extends SlackCommandHandler {
  
negative.code:     final params = request.context;
      final TheHundredClient theHundredClient = params[param.THE_HUNDRED_CLIENT];
      final SlackClient slackClient = params[param.SLACK_CLIENT];
      final String options = params[param.SLACK_TEXT];
      final username = params[param.SLACK_USERNAME];
      final optionList = options.split(new RegExp(r'\s+'));
      if (optionList.first == _OPTION_HELP) {
        _log.info('@$username needs help');
        return createTextResponse('View upcoming gaming sessions', private: true);
      }
      final shouldFilter = optionList.last == _OPTION_FILTER;
      final platform = _extractPlatform(optionList.first);
      _log.info('@$username looking up games');
      final games =
          _filterByPlatform(await theHundredClient.getAllGames(), platform);
      _log.info('${games.length} game(s)');
      games.forEach(_log.info);
      if (games.isEmpty) {
  