A referral bot, great for referral-based Discord servers. Currently, the only way to use it is to self-host, but I may consider hosting the bot at a later time. See installation and usage for self-hosting directions.
- Admin = "Administrator" permission
- Mod = "Manage Roles" permission
Command | Description | Permissions |
---|---|---|
help |
sends a list of all commands to the channel | everyone |
invites |
displays number of invites and number left until next role | everyone |
top <#> |
displays top <#> of inviters | everyone |
membercount |
displays total number of server members | everyone |
set <channel-name> |
set a specific channel for a bot to prevent spam | admin |
set default |
allow all channels to use the bot | admin |
Referobot also automatically updates user's roles.
- Download or clone this repo's files.
cd
into the Referobot directory.- Run
npm install
to install dependencies. - Run
npm run build
to build. - Add your bot token to
your_auth.json
. - Rename
your_auth.json
toauth.json
. - Run
node lib/referobot.js
.1
- Create a bot user and generate a token here and invite this bot to your server using its
Client ID
. The link should look like this:https://discordapp.com/oauth2/authorize?&client_id=YOUR_CLIENT_ID&scope=bot&permissions=268435464
. - Make sure your Referobot has the
Manage Roles
permission in your server. If for some reason this does not work, move the Referobot's role above all other user roles. - To customize roles and role invite number thresholds, go to the
roles.json
file in the root Referobot directory. Fill in the roles and the invites required for those roles. You can customize up to six roles. Role names are case-sensitive. Make sure the role names you type exactly match the role names from your server.2
- If you need 24/7 hosting, you may need a VPS.
- For now, if you have more than six roles, any roles beyond six will not work. If you have less than six roles, fill in only the last roles and leave the other values at 0. For example, if I had four referral roles, I would customize as follows:
{'RankOne': 0, 'RankTwo': 0, 'MyCustomRank': 6, ...}
.