diff --git a/src/trigger/f0ckrand.js b/src/trigger/f0ckrand.js index 25e6c3f..764d972 100644 --- a/src/trigger/f0ckrand.js +++ b/src/trigger/f0ckrand.js @@ -5,28 +5,26 @@ module.exports = (lib) => { level: 0, active: 1, func: (e) => { - let args = lib.sql.escape(e.message).trim().split(" ").slice(2); + let args = e.message.trim().split(" ").slice(2); let params = { - "in": [], - "not": [] + inc: [], + exc: [] }; - + for(let i = 0; i < args.length; i++) { let name = args[0]; if(name.charAt(0) === "!") - params.not.push(name.slice(1)); + params.exc.push(name.slice(1)); else - params.in.push(name); + params.inc.push(name); } - let vars = params.in.concat(params.not); + let vars = params.inc.concat(params.inc.length == 0 ? params.exc : []); + params.inc = new Array(params.inc.length).fill('username LIKE ?'); + params.exc = new Array(params.inc.length == 0 ? params.exc.length : 0).fill('username NOT LIKE ?'); + let where = params.inc.concat(params.exc).join(' || '); + let query = `SELECT id, username FROM f0ck.items ${where.length > 0 ? `WHERE ${where}` : ''} ORDER BY rand() LIMIT 1`; - params.in = new Array(params.in.length).fill('username LIKE ?'); - params.not = params.in.length > 0 ? [] : new Array(params.not.length).fill('username NOT LIKE ?'); - let where = params.in.concat(params.not); - let query = `SELECT id, username FROM f0ck.items ${where.length > 0 ? `WHERE ${where.join(' || ')}` : ''} ORDER BY rand() LIMIT 1`; - - console.log( query ); lib.sql.query(query, vars, (err, rows) => { e.reply(!err && rows.length > 0 ? `f0ckrnd: ${lib.cfg.main.url}/${rows[0].id} by: ${rows[0].username}` : 'nothing found, f0cker'); });