This commit is contained in:
Flummi 2016-08-30 21:57:09 +00:00
parent 312d3f0769
commit b7abae5f5e

View File

@ -19,65 +19,70 @@ module.exports = (bot, trigger, lib) => {
lib.checkRepost(entry, (cbcr) => { lib.checkRepost(entry, (cbcr) => {
if(cbcr) { if(cbcr) {
ytdl.getInfo(entry, (err, info) => { ytdl.getInfo(entry, (err, info) => {
var title = info.title; if(!err) {
var dat = fs.createWriteStream('./b/'+tmpdest+'.webm'); var title = info.title;
var dat = fs.createWriteStream('./b/'+tmpdest+'.webm');
try { try {
ytdl.downloadFromInfo(info, { filter: (format) => { return format.container === 'webm'; } }) ytdl.downloadFromInfo(info, { filter: (format) => { return format.container === 'webm'; } })
.on('response', (res) => { .on('response', (res) => {
if(res.headers['content-length'] > lib.cfg.maxFileSize) { if(res.headers['content-length'] > lib.cfg.maxFileSize) {
res.destroy(); res.destroy();
dl = false; dl = false;
e.reply('f0ck! your file is too big (~'+lib.formatSize(res.headers['content-length'])+'), max '+lib.formatSize(lib.cfg.maxFileSize)+' allowed'); e.reply('f0ck! your file is too big (~'+lib.formatSize(res.headers['content-length'])+'), max '+lib.formatSize(lib.cfg.maxFileSize)+' allowed');
} }
}) })
.on('error', (err) => { .on('error', (err) => {
//e.reply(err); //e.reply(err);
}) })
.pipe( dat ); .pipe( dat );
} }
catch(ex) { catch(ex) {
e.reply(ex); e.reply(ex);
} }
dat.on('finish', () => { dat.on('finish', () => {
if(dl) { if(dl) {
dat.close(); dat.close();
var stat = fs.statSync("./b/"+tmpdest+".webm"); var stat = fs.statSync("./b/"+tmpdest+".webm");
lib.getUser(e, (cbgu) => { lib.getUser(e, (cbgu) => {
lib.getCheckSum("./b/"+tmpdest+".webm", (cbcs) => { lib.getCheckSum("./b/"+tmpdest+".webm", (cbcs) => {
lib.checkRepostCheckSum(cbcs, (cbcrcs) => { lib.checkRepostCheckSum(cbcs, (cbcrcs) => {
if(cbcrcs) { if(cbcrcs) {
lib.sql.query("insert into `f0ck`.`items` (`src`,`dest`,`mime`,`size`,`checksum`,`username`,`userchannel`,`usernetwork`,`stamp`,`active`) values (?,?,?,?,?,?,?,?,?,?)", [ lib.sql.query("insert into `f0ck`.`items` (`src`,`dest`,`mime`,`size`,`checksum`,`username`,`userchannel`,`usernetwork`,`stamp`,`active`) values (?,?,?,?,?,?,?,?,?,?)", [
entry, entry,
"./b/"+tmpdest+".webm", "./b/"+tmpdest+".webm",
"video/webm", "video/webm",
stat.size, stat.size,
cbcs, cbcs,
cbgu['nick'], cbgu['nick'],
e.channel.getName(), e.channel.getName(),
e.network, e.network,
Math.floor(new Date() / 1000), Math.floor(new Date() / 1000),
0 0
]).on('result', (result) => { ]).on('result', (result) => {
lib.generateThumbs(); lib.generateThumbs();
e.reply("https://f0ck.me/"+result.insertId+" - "+title+" (video/webm, ~"+lib.formatSize(stat.size)+") from "+cbgu['nick']+" ("+cbgu['username']+"@"+cbgu['hostname']+")"); e.reply("https://f0ck.me/"+result.insertId+" - "+title+" (video/webm, ~"+lib.formatSize(stat.size)+") from "+cbgu['nick']+" ("+cbgu['username']+"@"+cbgu['hostname']+")");
}).on('error', (msg) => { }).on('error', (msg) => {
e.reply(msg); e.reply(msg);
}); });
} }
else { else {
fs.unlink("./b/"+tmpdest+".webm"); // delete repost fs.unlink("./b/"+tmpdest+".webm"); // delete repost
e.reply("repost motherf0cker"); e.reply("repost motherf0cker");
} }
});
}); });
}); });
}); }
} else
else fs.unlink('./b/'+tmpdest+'.webm');
fs.unlink('./b/'+tmpdest+'.webm'); });
}); });
}); }
else {
e.reply("f0ck GEMA");
}
} }
else else
e.reply('repost motherf0cker'); e.reply('repost motherf0cker');