module.exports.run = async (ws,user,db,msg,fun,users,connections) => { if (user.connected) return if (!msg.token) { try { var ip = await db.ips.get(ws.ip) var _id = await db.tokens.get(ip) var part = await db.users.get(_id) part = JSON.parse(part) } catch (error) { console.log(error) var token = "" for (var i = 0; i < 48; i++) token+= ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"][Math.floor(Math.random() * 16)] var _id = "" for (var i = 0; i < 24; i++) _id+= ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"][Math.floor(Math.random() * 16)] var color = "#" for (var i = 0; i < 6; i++) color+= ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"][Math.floor(Math.random() * 16)] var part = {rank: 0,p: {name: "Anonymous", _id: _id, id: _id, color: color, m:"p"}} await db.ips.put(ws.ip, token) await db.tokens.put(token, _id) await db.users.put(_id, JSON.stringify(part)) } } else { try { var token = await db.tokens.get(msg.token) var part = await db.users.get(token) part = JSON.parse(part) var token = msg.token } catch (error) { try { //var ip = ws.ip var _id = await db.tokens.get(await db.ips.get(ws.ip)) var part = JSON.parse(await db.users.get(_id)) var ip = await db.ips.get(ws.ip) } catch (error) { var token = "" for (var i = 0; i < 48; i++) token+= ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"][Math.floor(Math.random() * 16)] var _id = "" for (var i = 0; i < 24; i++) _id+= ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"][Math.floor(Math.random() * 16)] var color = "#" for (var i = 0; i < 6; i++) color+= ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"][Math.floor(Math.random() * 16)] var part = {rank:0,p: {name: "Anonymous", _id: _id, id: _id, color: color, m:"p"}} await db.ips.put(ws.ip, token) await db.tokens.put(token, _id) await db.users.put(_id, JSON.stringify(part)) } } } if (part.siteban && part.siteban.ends > Date.now()) { // i took this from bouncer bc too lazy lmao var msToTime = function(args) { if (args >= 10000000000000) { return 'forever'; } if (args >= 31536000000) { return Math.round((args / 31536000000) * 10) / 10 + ' years'; } if (args >= 2592000000) { return Math.round((args / 2592000000) * 10) / 10 + ' months'; } if (args >= 604800000) { return Math.round((args / 604800000) * 10) / 10 + ' weeks'; } if (args >= 86400000) { return Math.round((args / 86400000) * 10) / 10 + ' days'; } if (args >= 3600000) { return Math.round((args / 3600000) * 10) / 10 + ' hours'; } if (args >= 60000) { return Math.round((args / 60000) * 10) / 10 + ' minutes'; } if (args >= 1000) { return Math.round((args / 1000) * 10) / 10 + ' seconds'; } return args + ' milliseconds'; } ws.sendData({"m":"notification","duration":7000,"target":"#room","html":`You are currently banned from the site for ${msToTime(part.siteban.ends - Date.now())}.
Reason: ${part.siteban.reason}
Your _ID: ${part.p._id}
You can request an appeal by DMing someone8448 on discord or joining this Discord Server and requesting a ban appeal.`,"title":"Notice"}) ws.close() return "user sitebanned" } delete part.siteban ws.sendData({m: "hi", u: part.p, t: Date.now(), token: ip || token, permissions: (part.rank >= 1) ? {vanish: true, clearChat: true, chownAnywhere: (part.rank >= 2) ? true : undefined, siteBan: (part.rank >= 2) ? true : undefined, siteBanAnyReason: (part.rank >= 2) ? true : undefined, siteBanAnyDuration: (part.rank >= 2) ? true: undefined,usersetOthers: (part.usersetothers) ? true : undefined} : {usersetOthers: (part.usersetothers) ? true : undefined}, accountInfo: {}}) user.quotas = {chat: fun.quota(4,6000), note: fun.quota(15,2000), custom: fun.quota(30,2000)} user._id = part.p._id if (!users[part.p._id]) {users[part.p._id] = part; delete users[part.p._id].userset} users[part.p._id].p = part.p if (!users[user._id].userset) users[user._id].userset = fun.quota(8,720000) if (users[part.p._id].rank < 1 && users[part.p._id].p.vanished) users[part.p._id].p.vanished = false delete users[part.p._id].p.vanish user.connected = true user.channel = undefined user.sub = {ls: false, custom: false} } module.exports.name = "hi"