From 5ab7713f97b370fa238bba4ecd3f3e20cefd5144 Mon Sep 17 00:00:00 2001 From: Flummi Date: Thu, 18 Aug 2016 09:22:46 +0200 Subject: [PATCH] modified: src/main.js --- src/main.js | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/src/main.js b/src/main.js index f493001..b1646be 100644 --- a/src/main.js +++ b/src/main.js @@ -116,6 +116,17 @@ bot.on('message', (e) => { e.reply("debugmessages activated"); } } + else if(orig.match(/^\!load user$/)) { + loadUser((cb) => { + e.reply(admins); + }); + } + else if(orig.match(/^\!level$/)) { + var tmp_channel = bot.getChannel(e.channel.getName(), e.network).names; + var level = getUserlevel(e, e.user.getNick(), tmp_channel, (cb) => { + e.reply("level from "+e.user.getNick()+": "+cb.level+" (Channel: "+cb.channel+" DB: "+cb.db+")"); + }); + } }); var getUser = (u, n) => { @@ -125,18 +136,30 @@ var getUser = (u, n) => { return bot.getUser(u, n); }; +var getUserlevel = (e, name, tmp_channel, cb) => { + var lvl_channel = (name in tmp_channel)? cfg.level[ tmp_channel[name] ] : 0; + var lvl_db = 0; + if(name.toLowerCase() in admins) + lvl_db = (admins[name.toLowerCase()].server == e.network)? admins[name.toLowerCase()].level : 0; + cb({ + 'channel': lvl_channel, + 'db': lvl_db, + 'level': Math.max(lvl_channel, lvl_db) + }); +}; + var loadUser = (cb) => { admins = []; sql.query("select * from `f0ck`.`user`", (err, rows, fields) => { rows.forEach((e,i,a) => { admins.push(e.nick); - admins[e.nick].push({ - id: e.id, - nick: e.nick, - vhost: e.vhost, - level: e.level, - server: e.server - }); + admins[e.nick] = { + 'id': e.id, + 'nick': e.nick, + 'vhost': e.vhost, + 'level': e.level, + 'server': e.server + }; }); cb(true); }).on('error', () => { @@ -416,4 +439,6 @@ var generateThumbs = () => { } }); }); -}; \ No newline at end of file +}; + +loadUser((cb)=>{}); \ No newline at end of file