Here’s an example of how to use spaceSetsSpaceMembers to parse out who is at least a moderator in a space:
const modOrGreaterUids: string[] = [];
game.subscribeToEvent("spaceSetsSpaceMembers", ({ spaceSetsSpaceMembers }) => {
for (const [uid, member] of Object.entries(spaceSetsSpaceMembers.members)) {
for (const [roleName, roleValue] of Object.entries(member.roles)) {
if (
roleName === "DEFAULT_MOD" ||
(roleName === "OWNER" && roleValue && !modOrGreaterUids.includes(uid))
) {
console.log("Found mod ", uid);
modOrGreaterUids.push(uid);
}
}
}
});
In subsequent events/handlers, use the data
(varies by event) or context.playerId
(available if present) on the event to check if it’s in that list, and you should be able to tell if a user is at least a moderator.
The builder role is called DEFAULT_BUILDER.