docs: def download(self, url,
                     file_name,
                     headers=None,
                     show_progress=True):
  
      '''stream to a temporary file, rename on successful completion
  
          Parameters
          ==========
          file_name: the file name to stream to
          url: the url to stream from
          headers: additional headers to add
          force: If the final image exists, don't overwrite
  
      '''
  
      fd, tmp_file = tempfile.mkstemp(prefix=("%s.tmp." % file_name)) 
      os.close(fd)
  
      # Should we verify the request?
      verify = self._verify()
  
      # Check here if exists
      if requests.head(url, verify=verify).status_code in [200, 401]:
          response = self.stream(url, headers=headers, stream_to=tmp_file)
  
          if isinstance(response, HTTPError):
              bot.error("Error downloading %s, exiting." %url)
              sys.exit(1)
          shutil.move(tmp_file, file_name)
      else:
          bot.error("Invalid url or permissions %s" %url)
      return file_name