Modules
Invites
Who invited whom, the leaderboards, and paying an inviter in your currency and XP.
When somebody joins, Dispresso works out which invite link brought them and writes down the pair: this member, that inviter, on this date. That record is what !invitedby reads back, and what an invite reward is paid against.
Or just tell the bot#
make the invites go to #invites
stop the invite feed
turn on invite trackingThe feed posts a line for every join saying who brought them, and for every leave. Clearing it stops the lines; the records behind !invitedby are kept either way. Start with dispresso or mention it. It asks for anything it still needs, writes the same settings the dashboard writes, and the whole list of sentences is on Talk to Dispresso.
Asking who brought somebody in#
!invitedby @someone answers both ends of the question at once: who invited them and roughly when, and how many people they have brought in themselves, how many of those are still here, and the last few by name. Leave the mention off to see your own. The Invites page on the dashboard shows the same thing as a table, with the top inviters on it.
!invitedby @someone who invited them, and who they have brought in
!invites your invite count here (/stats invites)
!ginvites your count across every Dispresso server
!lbinvites this server's invite leaderboard
!lbginvites the platform wide invite leaderboardThese sit with the rest of the stats commands and need the Stats module switched on. The record itself follows Track invites on the Stats page, which is on unless somebody turned it off, and the Invites tile in /botdashboard is the same switch. Joins from before Dispresso arrived cannot be recovered, so the record starts the day it joined.
When the answer is "we cannot tell"#
Discord never says which invite a member used, so some joins cannot be pinned on anybody. A vanity URL has no owner. A join through the server widget or an OAuth link used no invite at all. And when two people's links are both used in the same instant, either one could be it.
Each of those is recorded as what it is, so a card tells you it was a vanity URL, or that it could not be told apart, instead of naming somebody who might be wrong. None of them ever pays a reward.
Leaving and coming back#
Somebody who leaves and returns keeps whoever first brought them in, and cannot be counted a second time. If their original join was one of the ones that could not be pinned down, a later return can fill in the real inviter, but it never re-opens a reward that has already been settled.
Paying for an invite#
Your server can hand an inviter server currency, server XP, or both. Both amounts start at zero, so switching the Invites module on pays nothing until you choose a number on the Invites page of the dashboard. That page is the only place an amount can be set: the tile in Discord decides whether invites are recorded, not what one is worth. Paying XP needs the Leveling module on as well.
The amount you type is the amount that arrives. No plan or perk multiplies it.
The reward is owed on join, not paid on join
It is held for the stay window, a day out of the box, and paid only if the new member is still in the server when it comes due and the inviter is still here too. Somebody who leaves inside that window earns nobody anything.
An invite also pays nothing when the joiner is a bot somebody added, when the link was the inviter's own, when the member had been in the server before, when the join could not be pinned on anybody, or when the account is younger than the minimum account age, a week out of the box. There is a daily ceiling per inviter as well, ten by default, and hitting it does not cancel a reward: it stays owed until the next day.
Owed rewards are checked every few minutes, so payment lands shortly after the window ends rather than on the dot. Each one that is paid goes into the server's log feed, naming the inviter and what they got.