This commit is contained in:
Flummi 2017-03-22 13:58:23 +01:00
parent a6930add23
commit b6e9b9c40d

View File

@ -7,24 +7,23 @@ module.exports = (lib) => {
func: (e) => { func: (e) => {
let args = lib.sql.escape(e.message).trim().split(" ").slice(2); let args = lib.sql.escape(e.message).trim().split(" ").slice(2);
let params = { let params = {
"in": [], inc: [],
"not": [] exc: []
}; };
for(let i = 0; i < args.length; i++) { for(let i = 0; i < args.length; i++) {
let name = args[0]; let name = args[0];
if(name.charAt(0) === "!") if(name.charAt(0) === "!")
params.not.push(name.slice(1)); params.exc.push(name.slice(1));
else 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.in = new Array(params.in.length).fill('username LIKE ?'); params.exc = new Array(params.inc.length == 0 ? params.exc.length : 0).fill('username NOT LIKE ?');
params.not = params.in.length > 0 ? [] : new Array(params.not.length).fill('username NOT LIKE ?'); let where = params.inc.concat(params.exc).join(' || ');
let where = params.in.concat(params.not); let query = `SELECT id, username FROM f0ck.items ${where.length > 0 ? `WHERE ${where}` : ''} ORDER BY rand() LIMIT 1`;
let query = `SELECT id, username FROM f0ck.items ${where.length > 0 ? `WHERE ${where.join(' || ')}` : ''} ORDER BY rand() LIMIT 1`;
e.reply( query ); e.reply( query );
e.reply( JSON.stringify( vars ) ); e.reply( JSON.stringify( vars ) );