code: async def download_file(self, file_id, dest):
          
          f = await self.getFile(file_id)
  
          try:
              d = dest if isinstance(dest, io.IOBase) else open(dest, 'wb')
  
              session, request = api.download((self._token, f['file_path']))
  
              async with session:
                  async with request as r:
                      while 1:
                          chunk = await r.content.read(self._file_chunk_size)
                          if not chunk:
                              break
                          d.write(chunk)
                          d.flush()
          finally:
              if not isinstance(dest, io.IOBase) and 'd' in locals():
                  d.close()
docs: Download a file to local disk.
  
          :param dest: a path or a ``file`` object