Permissions
mzchat uses a system of roles to manage permissions within guilds.
Role Inheritance
Section titled “Role Inheritance”Permissions are determined by the roles assigned to a user.
- A user can be assigned multiple roles.
- Effective permissions are the union of all permissions from assigned roles.
- Roles have a priority/weight to determine hierarchy for moderation actions.
Consistency
Section titled “Consistency”JWTs contain a permission_versions_by_guild map.
- Every guild tracks a
permission_versionthat increments on any role or assignment change. - The server rejects requests if the version in the JWT is stale, forcing the client to refresh its session.