Skip to content

Invite Tracking

Attributes every join to the invite code that brought them in, with anti-fake-invite protection and an inviter leaderboard.

Phantom invite tracking for Discord showing who invited each member and the inviter leaderboardCommunity → 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

SettingDefaultWhat it does
EnabledoffMaster switch.
Fake threshold (seconds)600A 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)0Members whose account is younger than this don't get credit.
XP per invite0XP granted to inviter when a member joins via their code. 0 disables.
Log channelnoneOptional 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 > 0 only 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 = 7 to stop sock-puppet farms.

Permissions

  • community.view — leaderboard + stats
  • community.edit — change settings

Limits

  • Per-member stat history is unbounded; aggregated views paginate.

Phantom is a product of Hydra Labs. The bot is run as a managed service; you do not need to host it yourself.