parser die Zweite
This commit is contained in:
parent
e62de626b4
commit
2c832f2014
@ -40,7 +40,18 @@ export default bot => {
|
||||
link: data.webpage_url,
|
||||
file: data.id,
|
||||
format: data.formats
|
||||
.filter(f => (f.filesize <= cfg.main.maxFileSize.val || f.ext === "mp3") && ["webm","mp4","mp3"].includes(f.ext))
|
||||
.filter(f => {
|
||||
if(f.hasOwnProperty("fragments"))
|
||||
return false;
|
||||
if(!["webm", "mp4", "mp3"].includes(f.ext))
|
||||
return false;
|
||||
if(f.filesize > cfg.main.maxFileSize.val && f.ext !== "mp3")
|
||||
return false;
|
||||
if(/playlist/i.test(f.url))
|
||||
return false;
|
||||
//e.reply(`${f.ext} - ${f.url} - ${f.format}`);
|
||||
return f;
|
||||
})
|
||||
.splice(-1, 1)
|
||||
.map(f => ({
|
||||
ext: f.ext,
|
||||
@ -56,14 +67,39 @@ export default bot => {
|
||||
fetch(data.format[0].url, { size: cfg.main.maxFileSize.val })
|
||||
.then(res => {
|
||||
const uuid = lib.getUUID();
|
||||
const dest = fs.createWriteStream(b + "/" + uuid + "." + data.format[0].ext);
|
||||
const file = `${b}/${uuid}.${data.format[0].ext}`;
|
||||
const dest = fs.createWriteStream(file);
|
||||
res.body.pipe(dest);
|
||||
e.reply(`gef0ckt lol: ${data.file} -> ${uuid}.${data.format[0].ext}, ~${data.format[0].size}`);
|
||||
let t;
|
||||
dest.on("open", () => {
|
||||
e.reply(`downloading ${data.file}...`);
|
||||
t = setInterval(() => {
|
||||
const size = fs.statSync(file).size;
|
||||
if(size >= cfg.main.maxFileSize.val) {
|
||||
e.reply(`file too large lol! D: (${lib.formatSize(size)})`);
|
||||
res.body.unpipe(dest);
|
||||
dest.destroy();
|
||||
fs.unlinkSync(file);
|
||||
clearInterval(t);
|
||||
t = false;
|
||||
}
|
||||
}, 2000);
|
||||
});
|
||||
dest.on("close", blah => {
|
||||
if(t) {
|
||||
clearInterval(t);
|
||||
e.reply(`gef0ckt lol: ${data.file} -> ${uuid}.${data.format[0].ext}, ~${lib.formatSize(fs.statSync(file).size)}`);
|
||||
}
|
||||
else {
|
||||
// recursive
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
}));
|
||||
}).catch(err => e.reply(JSON.stringify(err)))
|
||||
);
|
||||
}
|
||||
}));
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user