LIMITED TIME OFFER50% OFF
AntiLink
The Attribution Trail
AntiLink Plus - opt-in, off until you turn it on

Where did that wave of members come from?

Invite Intelligence keeps an evidence trail behind every join: which invite code moved, who owns it, and whether the member stayed or vanished minutes later. It is built for raid and abuse investigation - not for handing out invite rewards.

No message content is ever stored. Records are pruned after 90 days, and you can erase everything at any time.

One join, four links in the chain

Discord never tells a bot which invite a member used. Every invite tracker infers it by watching use counts. Here is exactly how AntiLink follows that trail, step by step.

Step 01

A member joins

N

novaflux

joined just now

The gateway member event fires. That is the only signal Discord gives, and it does not name an invite.

Step 02

Diff the invite use counts

Invite codeUsesOwner
aB3kQ9x41 42@riven
mT7pw2L118 118@timeout
zQ4vn8R6 6@partner-hub
hK9dc1S73 73@timeout

Exactly one count moved. That, and only that, is an attribution.

Step 03

Therefore, the inviter

Attributed to

@riven

via aB3kQ9x

One row is written: the member, the inviter, the code, and the join time. Nothing more.

Step 04

Stayed, or gone?

Still hereno leave time
Left in 3 minutesquick leave

A leave closes the record with a timestamp. Under 10 minutes counts as a quick leave - the classic bot-wave signature.

Honest attribution

When the evidence runs out, we write Unknown.

An invite tracker that always produces a name is not more accurate - it is just more confident. AntiLink attributes a join only when exactly one invite use count went up. In every other case it records the join with no inviter at all, and counts it as unattributed.

That matters the moment you use this data for something real. If you are deciding whether one source flooded your server, a guessed name is worse than an honest blank.

The record it writes

member: novaflux
inviter: null
code: null
joined: 21:14 UTC

Cases we refuse to guess

recorded as Unknown

A vanity URL was used

Discord never reports vanity uses to a bot. A join through your discord.gg vanity link has no use count to read, so there is nothing to attribute.

Two people joined at once

Two invite counts moved between snapshots. Either could be the one. Neither join is attributed, because a coin flip is not evidence.

No baseline yet

The first join after you enable the module, or right after a bot restart, has nothing to compare against. It is recorded as Unknown rather than assumed.

Manage Server is missing

Without that permission the bot cannot read your invites at all. Joins are still recorded, always with no inviter, so your numbers never quietly lie.

Read the trail as a raid signal

Individual rows are trivia. The shape of them is intelligence. Two numbers do most of the work: how many joins ran straight back out, and how much of your traffic funnels through one single invite.

๐Ÿงพ

Invite Intelligence

Server console - Sanctuary Gaming

7 days30 days90 days

Joins

248

Attributed

212

36 unknown

Quick-leave rate

14%

left within 10 min

Top-source share

45%

of attributed joins

Top inviters

your ten biggest sources

@riven

96 joins

4 quick leaves

@timeout

58 joins

2 quick leaves

@partner-hub

41 joins

27 quick leaves

@mika

17 joins

1 quick leaves

@partner-hub brought 41 joins and 27 of them left within minutes. That is where you start the investigation.

A look at the console. Numbers shown are illustrative; yours are your own.

๐Ÿ›ก๏ธ

Intelligence, not rewards

There are no invite leaderboards, points or prizes here. This exists so you can investigate a raid or an abuse pattern, and nothing else.

๐Ÿ”•

Silent by design

It never posts, never pings and never moderates. It records, and the dashboard reads. Enforcement lives in Member Defense and Anti-Nuke.

๐ŸงŠ

Starts the day you enable it

Existing members are not backfilled and no history is invented. The picture builds from your first recorded join onward.

Everything it keeps

Four fields per join. That is the whole record.

The member who joineduser id
The attributed inviteruser id, or none
The invite codecode, or none
Join time, and leave timetimestamps
  • No message content, ever. Nothing anyone types is read or kept by this module.
  • 90-day retention, pruned automatically. Older records simply stop existing.
  • Erase on demand. One button wipes every record for your server, and a full server data wipe clears it too.
Before it can record

Three things have to be true. AntiLink checks all of them live, and fails closed rather than recording without them.

PlanAntiLink Plus

Available on AntiLink Plus and AntiLink Premium, and re-checked on every recorded join.

BotServer Members intent

Join and leave events need the privileged Server Members intent, which runs on your paid white-label custom bot. The shared public bot does not carry it, so it records nothing there.

PermManage Server

This is what lets the bot read your invites. Without it, joins are still recorded, but every one of them is Unknown.

YouFlip the switch

It ships off. Open Invite Intelligence in the dashboard and enable it, and recording starts from that moment.

Stop guessing where the wave came from.

Turn on Invite Intelligence and every join leaves a trail you can follow - or an honest blank where the evidence ran out. Both beat a confident guess.