Community & management

Invite tracking

Ganyu credits every join to the member whose invite link was used, keeps a count per inviter and rewards the best ones with roles. Tracking is off by default and is set up with /invites config or from the Invites tab of the The web dashboard.

By the Ganyu team Updated on

Turn tracking on

Turn tracking on with /invites config enabled:True or the switch in the dashboard's Invites tab. When it is turned on, Ganyu immediately reads the server's links: that is the starting state every join is compared with.

Ganyu needs the Manage Server permission: without it, Discord refuses to list the invites and joins cannot be attributed. The dashboard then shows a warning banner with a "Check again" button, and /invites show reports it too. Link creations and deletions come through Discord's invites intent, which is not privileged: there is nothing to enable on your side.

Tip — Once the permission is back, run /invites sync (or "Check again" in the dashboard) to read the links right away.

How a join is attributed

Discord never says which link was used. Ganyu compares each link's use count right before and right after the join: the link whose count went up names the inviter. Some joins cannot be credited:

  • Vanity link: the join is recorded as such, with no inviter.
  • Unknown: no count moved (link deleted in between, starting state lost).
  • Ambiguous: several links were used at the same moment; rather than guessing, nobody is credited.
  • Single-use link: Discord deletes it as soon as it is used; Ganyu recognises it when it was one use away from its limit just before.
  • Bot: a bot added through authorization uses no link and is credited to nobody.
  • Missing permission: the join happened while Ganyu lacked Manage Server.

How totals are computed

total = joins + bonus − left − fake. A member counts once per inviter, even if they leave and come back several times through that inviter's links; their rejoins are shown for information.

An account younger than the "recent account" threshold (7 days by default, adjustable from 1 to 90 days) when it joins is counted as fake and removes one invite. A counted member who leaves the server becomes a leave. If they come back through another member's link, that member is credited and the first inviter counts them as a leave.

The total has no floor: removed bonus invites or fake accounts can make it negative.

Commands

show, leaderboard, who and codes are open to everyone. bonus, reset, sync, config and rewards require the Manage Server permission.

/invites show [member]

A member's invite total (yours by default), with joins, leaves, fake accounts, rejoins and bonus.

/invites leaderboard [period]

Inviter leaderboard, all time or over 30 days, 7 days or 24 hours, 10 per page.

/invites who <member>

Who invited this member, with which link and when.

/invites codes [member]

A member's active invite links and their uses.

/invites bonus add <member> <amount> [reason]

Adds bonus invites (1 to 10,000) to a member.

/invites bonus remove <member> <amount> [reason]

Removes bonus invites from a member.

/invites reset [member]

Erases a member's history, or the whole server's without a member, after a confirmation button. Permanent.

/invites sync

Reads the server's links from Discord again and checks the permission.

/invites config <enabled> [fake_days] [log_channel] [log_off]

Turns tracking on or off, sets the recent-account threshold (1 to 90 days) and the log channel; log_off removes the channel.

/invites rewards add <role> <invites>

Grants a role from a number of invites (1 to 10,000).

/invites rewards remove <role>

Removes a role from the tiers. Members who have it keep it.

/invites rewards list

Lists the tiers, the mode and your plan's limit.

/invites rewards mode <mode>

stack keeps every tier reached, replace keeps only the highest.

Tier roles

A tier role is granted as soon as the invite total reaches its threshold, and removed if the total drops below it. Only roles configured as tiers are touched: a role given by hand is never removed. The role cannot be @everyone, a role managed by an integration, or a role placed above Ganyu's.

LimitFREEPREMIUMPRO
Tier roles31025

Tip — Tiers can also be managed in the dashboard's Invites tab, with a counter of tiers used against your Premium limit.

In the dashboard

The Invites tab gathers the switch, the recent-account threshold, the log channel, the mode and the tier editor, the leaderboard by period and the history of joins and leaves. The history can be filtered by member, inviter, type, source and period, and exported as CSV (at most the 50,000 most recent events).

Welcome messages and log channel

Welcome and leave messages accept {inviter} (inviter mention), {inviterName} (their name), {inviteCode} (the link code) and {inviterInvites} (their total). When the join is not attributed or tracking is off, a neutral label replaces the variable. See Automatic roles & welcome.

The log channel, set with /invites config log_channel or in the dashboard, announces every join and leave with its inviter.

Invite requirement for giveaways

A giveaway template can require a minimum number of invites to enter. While tracking is off on the server, entering such a giveaway is refused rather than accepted unchecked. See Giveaways.

Data and privacy

Ganyu records joins and leaves (member, inviter, link code, date) and bonus invites. This data is deleted with the rest of the server's data 30 days after the bot leaves. Every member can export or erase their data from their account's Privacy page on ganyu.fr; the /privacy command manages activity tracking.

Frequently asked questions

Why is a join "unknown"?

No link count moved between the two readings: the link may have been deleted just before, or the starting reading was missing. Run /invites sync to start again from an up-to-date state.

Does the server's vanity link count for anyone?

No. A join through the vanity link is recorded as such and credited to no member.

What if an invited member leaves and comes back?

They count only once for their inviter. If they come back through another member's link, that member is credited and the first inviter counts them as a leave.

How do I require invites for a giveaway?

Set a minimum number of invites in a giveaway template in the dashboard. Tracking must be on, otherwise entries are refused.

How many tier roles can I create?

3 on FREE, 10 on PREMIUM and 25 on PRO. See Premium.

Sources and official documentation

Community & management

Ready to try Ganyu?

Add Ganyu to your Discord server for free and put this guide into practice in under a minute.

Add Ganyu for free