From 37fc886839806dc357e2169e9d4a7ab17f1b3fa8 Mon Sep 17 00:00:00 2001 From: Flummi Date: Mon, 3 Sep 2018 21:03:58 +0200 Subject: [PATCH] tmp --- src/clients/irc.mjs | 1 + src/inc/trigger/parser_new.mjs | 26 +++++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/clients/irc.mjs b/src/clients/irc.mjs index 67fb78e..069b5dd 100644 --- a/src/clients/irc.mjs +++ b/src/clients/irc.mjs @@ -48,6 +48,7 @@ export class irc extends EventEmitter { this.server = { set: this.set, motd: "", + debug: false, me: {}, channel: [], user: new Map() diff --git a/src/inc/trigger/parser_new.mjs b/src/inc/trigger/parser_new.mjs index e09bed1..e201f60 100644 --- a/src/inc/trigger/parser_new.mjs +++ b/src/inc/trigger/parser_new.mjs @@ -11,20 +11,21 @@ const execFile = promisify(ef); const bin = process.cwd() + "/bin/youtube-dl"; const b = process.cwd() + "/b"; const _args = [ "--dump-json" ]; +const regex = /https?:\/\/[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?/gi; export default bot => { bot._trigger.set("parser", new bot.trigger({ - call: /https?:\/\/[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?/gi, + call: regex, f: e => { if(e.channel !== "#kbot-dev" && !e.message.match(/(!|-)f0ck/i)) return; if(e.message.match(/(!|-)ignore/)) return e.reply("ignored"); - const tmp = e.message.match(/https?:\/\/[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?/gi); // get links - tmp.forEach(link => execFile(bin, [...[link], ..._args]) - .then(({ stdout }) => JSON.parse(stdout)) - .then(data => data.direct ? { + const tmp = e.message.match(regex); // get links + Promise.all(tmp.map(link => execFile(bin, [...[link], ..._args]))) + .then(data => data.map(d => JSON.parse(d.stdout))) + .then(d => d.map(data => data.direct ? { thumbnail: "", link: data.url, file: data.title, @@ -49,7 +50,9 @@ export default bot => { return false; if(/playlist/i.test(f.url)) return false; - //e.reply(`${f.ext} - ${f.url} - ${f.format}`); + + if(e.self.debug) + e.reply(`${f.ext} - ${f.url} - ${f.format}`); return f; }) .splice(-1, 1) @@ -60,8 +63,8 @@ export default bot => { size: lib.formatSize(f.filesize), rsize: f.filesize })) - }) - .then(data => { + })) + .then(d => d.map(data => { if(data.format.length === 0) return e.reply("no filters found, f0ck! D:"); fetch(data.format[0].url, { size: cfg.main.maxFileSize.val }) @@ -83,6 +86,10 @@ export default bot => { clearInterval(t); t = false; } + else { + if(e.self.debug) + e.reply(`${data.file}: ${lib.formatSize(size)}`); + } }, 2000); }); dest.on("close", blah => { @@ -98,7 +105,8 @@ export default bot => { .catch(err => { console.error(err); }); - }).catch(err => e.reply(JSON.stringify(err))) + })) + .catch(err => e.reply(JSON.stringify(err)) ); } }));