Role Persistence
Snapshots a member's roles on leave and restores them on rejoin. Stops "I left for an hour, lost my XP role and verified status, now I have to re-do everything."
How it works
- On leave: Phantom records the member's current role IDs.
- On rejoin: Phantom restores them, skipping any role that's been deleted since.
The snapshot is per-(guild, user) and persists indefinitely until you delete the entry from the dashboard.
Where it lives
Dashboard: Community → Role Persistence. Includes a snapshots view (every snapshotted member) + recovery tools.
Settings
| Setting | What it does |
|---|---|
| Enabled | Master switch. |
| Snapshot on leave | When on, record roles. When off, the feature is essentially dormant. |
| Restore on rejoin | When on, apply snapshotted roles on rejoin. When off, no restoration. |
| Exclude roles | Roles to NEVER snapshot/restore (e.g. a "muted" role you don't want auto-coming-back). |
| Snapshot retention (days) | Auto-prune snapshots older than N days. 0 = keep forever. |
Tips
- Always exclude moderation roles like "muted" / "naughty list". Otherwise a banned-and-rejoined member auto-restores their bad-actor role and looks weird.
- Exclude "@Owner" or any role that should not be auto-granted.
- 30-day retention is a sensible default. Members who haven't been around in a month are unlikely to want their old roles back.
Permissions
community.view— see snapshotscommunity.edit— change settings, manually restore / delete
Behaviour
- Per-user snapshot is replaced on each leave (not appended). So multiple leaves overwrite each other.
- Restore is best-effort: if Phantom's role hierarchy doesn't permit a role grant, that role is silently skipped (logged in Error Log).
Related pages
- Welcome & Leave
- Join Roles
- Quarantine — shares the snapshot engine
