function DownloadFile(name, url) { return new Promise(resolve => { let file = fs.createWriteStream(`${dir}/${name}`); file.on("finish", () => { console.log("Downloaded:", name); return resolve(); }); return request(url).pipe(file); }); }
async function checkAndDownload() { console.log(`Checking if build tdlib-v${tdlib.version}-${tdlib.commit}-${tdlib.variant}-${arch_version} exist...`) let head = await rp({ method: 'HEAD', url: tdlib.debug ? url.debug : url.main, resolveWithFullResponse: true, simple: false, followRedirect: false }) if (head.statusCode == 301 || head.statusCode == 302) { console.log('Build exist. Downloading...') rp.get(tdlib.debug ? url.debug : url.main).pipe(zlib.createGunzip()).pipe(fs.createWriteStream('./tdlib.node')).on('finish', () => { process.exit(0) }) } else { console.log('Build does not exist. Trying to compile...') process.exit(1) } }