diff --git a/src/main.js b/src/main.js index b1da6e9..2f3f5dc 100644 --- a/src/main.js +++ b/src/main.js @@ -19,7 +19,7 @@ var haDC = () => { haDC(); var lib = new Lib(bot, sql, cfg); -var websrv = new Websrv(bot, sql, cfg); +var websrv = new Websrv(bot, sql, cfg, lib); cfg.server.forEach((e,i,a) => { bot.add({ diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 56a8ede..cc1de80 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -8,47 +8,49 @@ module.exports = (bot, trigger, lib) => { call: new RegExp('https?:\\/\\/[\\w-]+(\\.[\\w-]+)+\\.?(:\\d+)?(\\/\\S*)?', 'gi'), level: 0, func: (e) => { - if(!e.message.match(/\!ignore$/)) { - var tmp = e.message.match(/https?:\/\/[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?/gi); // get links - tmp.forEach((entry,i,a) => { - var tmpdest = uuid.v1().split('-')[0]; - lib.dl(entry, "./b/"+tmpdest, (cb) => { // download item - if(cb.status === true) { - lib.getUser(e, (cbgu) => { - lib.getCheckSum("./b/"+tmpdest+"."+cb.infos.ext, (cbcs) => { - lib.checkRepostCheckSum(cbcs, (cbcrcs) => { - if(cbcrcs) { - lib.sql.query("insert into `f0ck`.`items` (`src`,`dest`,`mime`,`size`,`checksum`,`username`,`userchannel`,`usernetwork`,`stamp`,`active`) values (?,?,?,?,?,?,?,?,?,?)", [ - entry, - "./b/"+tmpdest+"."+cb.infos.ext, - cb.infos.mime, - cb.infos.size, - cbcs, - cbgu['nick'], - e.channel.getName(), - e.network, - Math.floor(new Date() / 1000), - 0 - ]).on('result', (result) => { - lib.generateThumbs(); - e.reply("https://f0ck.me/"+result.insertId+" - "+path.parse(entry).base+" ("+cb.infos.mime+", ~"+lib.formatSize(cb.infos.size)+") from "+cbgu['nick']+" ("+cbgu['username']+"@"+cbgu['hostname']+")"); - }).on('error', (msg) => { - e.reply(msg); - }); - } - else { - fs.unlink("./b/"+tmpdest+"."+cb.infos.ext); // delete repost - e.reply("repost motherf0cker"); - } + if(e.channel.getName() != '#f0ck') { + if(!e.message.match(/\!ignore$/)) { + var tmp = e.message.match(/https?:\/\/[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?/gi); // get links + tmp.forEach((entry,i,a) => { + var tmpdest = uuid.v1().split('-')[0]; + lib.dl(entry, "./b/"+tmpdest, (cb) => { // download item + if(cb.status === true) { + lib.getUser(e, (cbgu) => { + lib.getCheckSum("./b/"+tmpdest+"."+cb.infos.ext, (cbcs) => { + lib.checkRepostCheckSum(cbcs, (cbcrcs) => { + if(cbcrcs) { + lib.sql.query("insert into `f0ck`.`items` (`src`,`dest`,`mime`,`size`,`checksum`,`username`,`userchannel`,`usernetwork`,`stamp`,`active`) values (?,?,?,?,?,?,?,?,?,?)", [ + entry, + "./b/"+tmpdest+"."+cb.infos.ext, + cb.infos.mime, + cb.infos.size, + cbcs, + cbgu['nick'], + e.channel.getName(), + e.network, + Math.floor(new Date() / 1000), + 0 + ]).on('result', (result) => { + lib.generateThumbs(); + e.reply("https://f0ck.me/"+result.insertId+" - "+path.parse(entry).base+" ("+cb.infos.mime+", ~"+lib.formatSize(cb.infos.size)+") from "+cbgu['nick']+" ("+cbgu['username']+"@"+cbgu['hostname']+")"); + }).on('error', (msg) => { + e.reply(msg); + }); + } + else { + fs.unlink("./b/"+tmpdest+"."+cb.infos.ext); // delete repost + e.reply("repost motherf0cker"); + } + }); }); }); - }); - } - else - if(cb.type == 1) - e.reply(cb.msg); + } + else + if(cb.type == 1) + e.reply(cb.msg); + }); }); - }); + } } }, desc: 'muh' diff --git a/src/websrv.js b/src/websrv.js index ca2f0a8..4264b6a 100644 --- a/src/websrv.js +++ b/src/websrv.js @@ -4,13 +4,14 @@ var path = require('path'); var swig = require('swig'); var templates = {}; -var bot, sql, cfg; +var bot, sql, cfg, lib; module.exports = Websrv; -function Websrv(tbot, tsql, tcfg) { +function Websrv(tbot, tsql, tcfg, tlib) { this.bot = bot = tbot; this.sql = sql = tsql; this.cfg = cfg = tcfg; + this.lib = lib = tlib; http.createServer((req, res) => { if(cfg.wlip.hasOwnProperty(req.connection.remoteAddress)) {