smnmpp-server/protocol/siteban.js

25 lines
777 B
JavaScript

module.exports.run = async (ws,user,db,msg,fun,users,connections) => {
if (!user.connected) return;
if (!user.channel) return
if (2 > users[user._id].rank) return
if (typeof msg.reason !== "string") return;
try {
var info = await db.users.get(msg.id)
var info = JSON.parse(info)
} catch (error) {
return;
}
if (info.rank >= users[user._id].rank) return
if (msg.permanent) {
var bantime = Date.now() + 10000000000000000
} else {
if (isNaN(Number(msg.duration))) return
var bantime = Date.now() + Math.abs(Math.floor(Number(msg.duration)))
}
info.siteban = {ends: bantime, reason: msg.reason, note: msg.note, _id: user._id}
await db.users.put(msg.id, JSON.stringify(info))
connections.filter(a => a.user._id === msg.id).forEach(a => a.close())
}
module.exports.name = "siteban"