function roleOf(user) { return user?.isAdmin ? "admin" : user?.isMod ? "mod" : user?.id ? "user" : "anonymous"; } function canUse(user, config) { const role = roleOf(user); if (role === "anonymous") return false; return role === "admin" ? config.assistant_visibility.admins : role === "mod" ? config.assistant_visibility.mods : config.assistant_visibility.users; } function roleAllows(actual, required) { const rank={anonymous:0,user:1,mod:2,admin:3}; return rank[actual] >= rank[required || "user"]; } module.exports = { roleOf, canUse, roleAllows };