code: def _create_messages(self, names, data, isDms=False):
          
  
          chats = {}
          empty_dms = []
          formatter = SlackFormatter(self.__USER_DATA, data)
  
          for name in names:
  
              # gets path to dm directory that holds the json archive
              dir_path = os.path.join(self._PATH, name)
              messages = []
              # array of all days archived
              day_files = glob.glob(os.path.join(dir_path, "*.json"))
  
              # this is where it's skipping the empty directories
              if not day_files:
                  if isDms:
                      empty_dms.append(name)
                  continue
  
              for day in sorted(day_files):
                  with io.open(os.path.join(self._PATH, day), encoding="utf8") as f:
                      # loads all messages
                      day_messages = json.load(f)
                      messages.extend([Message(formatter, d) for d in day_messages])
  
              chats[name] = messages
  
          if isDms:
              self._EMPTY_DMS = empty_dms
  
          return chats
docs: Creates object of arrays of messages from each json file specified by the names or ids
  
          :param [str] names: names of each group of messages
  
          :param [object] data: array of objects detailing where to get the messages from in
          the directory structure
  
          :param bool isDms: boolean value used to tell if the data is dm data so the function can
          collect the empty dm directories and store them in memory only
  
          :return: object of arrays of messages
  
          :rtype: object