Invite Tracking
See who brought each member in, and rank your inviters.
Overview
greed keeps a running count of who invited whom. Every join is attributed to the invite code that was used, so you can rank your inviters, credit people in your welcome message, and spot throwaway accounts.
Tracking is on by default for servers with 250 or more members — the same threshold analytics uses. Smaller servers can turn it on themselves, and any server can turn it off.
greed needs Manage Server to read your invite list. Without it nothing can be attributed, and ,invites config says so.
How a join is attributed
greed keeps a copy of every invite's use count. When someone joins it re-reads the list and finds the counter that moved.
The four counts
Every inviter has four numbers, and the total is worked out from them:
joined − left − fake + bonus = total
| Count | What it means |
|---|---|
| Joined | Someone joined on one of their invites |
| Left | One of their invitees has since left |
| Fake | The account was newer than your fake threshold when it joined |
| Bonus | Manually granted or taken by staff |
Nothing is stored as a running total — each join is its own record, so a member who leaves and rejoins is counted honestly rather than twice.
Commands
,serverinvites still lists your server's active invite links with their use counts — that is a different command and is unchanged.
Using the inviter in your messages
While tracking is on, your welcome and goodbye messages gain a set of invite variables on top of the usual ones:
{inviter.mention} {inviter.name} {inviter.display_name} {inviter.avatar} {inviter.id} {inviter.invites} {invite.code} {invite.url} {invite.uses} {invite.kind}
,welcome message Welcome {user.mention}, invited by {inviter.mention} — that's {inviter.invites} invites!
{inviter.*} behaves exactly like {user.*} does elsewhere, so anything you already know about user variables applies. Run ,invites variables to see the list in Discord.
When a join cannot be attributed — a vanity join, or two codes moving at once — the inviter variables render as empty rather than leaving raw text in your message. {invite.kind} tells you which case it was: regular, fake, vanity or unknown.
Announcements
Set an announcement channel and greed posts a line for every join naming the inviter and their new total. It never pings anyone.
If that channel is later deleted or greed loses access to it, the setting is cleared automatically rather than retried forever.
Limits
| Free | Server Premium | |
|---|---|---|
| Counts, leaderboard and lookup | Yes | Yes |
| Join announcements | Yes | Yes |
| Per-code breakdown | — | Yes |
| Bonus invites | — | Yes |
| Invite workflows trigger | — | Yes |
Notes
- Counts start from when tracking was switched on — there is no history to reconstruct from before that.
- Turning tracking off keeps your existing counts; turning it back on resumes where you left off.
- A member who joins, leaves and rejoins on a different code is credited to whoever actually brought them back.