Invite Tracking
Attributes every join to the invite code that brought them in, with anti-fake-invite protection and an inviter leaderboard.
Community → Invite Tracking.
What you get
- For each join: which invite code they used, and who created that code.
- Per-inviter stats: total invites, retained invites (members still in the server N days later), fake invites (joined and bounced quickly).
- A leaderboard of top inviters.
- Optional XP reward per retained invite.
Settings
| Setting | Default | What it does |
|---|---|---|
| Enabled | off | Master switch. |
| Fake threshold (seconds) | 600 | A joined member who leaves within this many seconds counts as "fake" — not credited to the inviter. Stops "raid + immediate kick" inflation. |
| Min inviter age (days) | 0 | Members whose account is younger than this don't get credit. |
| XP per invite | 0 | XP granted to inviter when a member joins via their code. 0 disables. |
| Log channel | none | Optional channel for join-attribution embeds. |
Where it lives
Dashboard: Community → Invites.
How attribution works
When a join event fires, Phantom diffs the current invite-use counts against the snapshot from a moment ago. The invite whose count went up is the one the user used. Credit goes to that invite's creator.
This is imperfect:
- If two members join in the same second via different invites, attribution can occasionally be wrong on very high-traffic servers.
- Vanity URLs (
discord.gg/yourservername) are tracked separately and credited to the server itself. - Joining via a server discovery / public list typically doesn't attribute.
Resetting the board
Two reset actions live on Community → Invites, under Top inviters:
- Reset on an inviter's row clears just that member's attributions. This is the escape hatch for someone caught padding the board.
- Reset all invites clears every tracked invite in the server — real, pending and fake, including vanity and unattributed joins. Use it to start a fresh invite contest instead of resetting each inviter by hand.
Both are permanent. The attribution rows are the audit trail, so once they're gone there's no way to reconstruct who invited whom. XP already awarded for past invites is left alone: the levelling ledger is a separate record, and clawing it back here would silently rewrite member levels.
Only members with community.edit can reset anything, and the reset is scoped to the server you have selected.
Tips
- Reward retention, not raw invites. Setting
xp_per_invite > 0only after the fake-threshold passes (10 minutes) means raid-bait spam invites earn nothing. - Show the leaderboard publicly. Members compete for top-inviter slots.
- Use
min_inviter_age_days = 7to stop sock-puppet farms.
Permissions
community.view— leaderboard + statscommunity.edit— change settings
Limits
- Per-member stat history is unbounded; aggregated views paginate.
Related pages
- Levelling — for XP rewards
- Welcome & Leave —
{inviter}placeholder hooks into this data
