Rank System

Yunite is equipped with a subsystem that tracks activity on your Discord server. Users will earn points and gain levels if they actively participate in your chat.

For each message, Yunite adds a specific amount of points to the XP of an user. Yunite calculates the level out of these XP and is able to grant roles based on these levels and / or on the amount of days that have passed since an user joined the server.

Note that XP will survive even if an user temporarily leaves the server due to a kick or ban.

Unlike, days since join are reset if an user temporarily leaves the server as this date is managed by Discord and always reset if an user rejoins.

General Settings

Grant only highest role

If you enable this, Yunite will only grant the role with the highest index out of the roles a specific user is eligible for. If you disable it, Yunite will grant an user all roles he is eligible for.

Display level up messages

Yunite will post level up messages under the message after which the user gained the new level if you enable this option. You can write a customized level up message into the text area. Similar to command reply actions, you can mention the user that leveled up using {user}. Additionally, you can tell him his new level by typing {level} somewhere in the message.

For example, if the user @Jim gained level 12, and you want to display the message like this

Hey @Jim, you reached level 12!

enter the following level up message into the text area:

Hey {user}, you reached level {level}!

Include or exclude roles from gaining XP

The next section allows you to configure roles to include or exclude uses from gaining XP. If someone has one of the roles listed in excluded roles, he can't gain XP. If included roles are set, only users with one of these roles can gain XP. You can also combine both settings.

Commands

This module offers some fixed commands. Please set up your permissions for commands to respect the column Should be granted to.

Command

Example

Usage

Should be granted to

rank

+rank

Displays the current rank and days if spent on the server of the user, to show the the rank of another person mention the user or the user's ID after +rank.

Everyone

leaderboard

+leaderboard

Indicates the users with the highest levels

Everyone

bonus [@user|userID] [amount]

+bonus @user 100

Grants [amount] points to @user. You can also provide a negative value to decrease the point amount of @user.

Staff / Moderators only

Please do not allow commands that should only be available to Staff / Moderators for the general public.

Do not type [ ] etc. in commands! You can also replace @user with the user ID.

Command settings

Each command has similar settings concerning invocation, roles and channels.

Command Invocation

Set your invocation for the command. Unlinke the commands module, these system commands do not support regular expression matching. Only simple invocations like !info, +rank, $bonus are possible. However, you can fully choose the invocation prefix and name.

Channels

Set up in which channels your command can be invoked. You have three options:

  1. Leave both Allowed Channels and Blocked Channels empty: This will allow the command in every channel.

  2. Add one or more channels to Allowed Channels: This will allow the command to be invoked in each of those channels, but no other channels.

  3. Add one or more channels to Blocked Channels: This will allow the command in every channel except those channels.

While possible, there is no sense in filling out both fields.

Roles

Set up roles whose users should be allowed to invoked the command or are blocked from executing the command. You have three options:

  1. Leave Allowed Roles empty: This will allow the command for nobody.

  2. Add one or more roles to Allowed Roles: This will allow the command to be invoked for users having one or more of those roles, but not for users that have none of these roles.

  3. Add one or more roles to both Allowed Roles and Blocked Roles: This will allow the command to be invoked for users having one or more of the roles in Allowed Roles as long as they don't have any role listed in Blocked Roles.

Filling out Blocked Roles only will not allow the command for anyone - you need at least one allowed role.

Do not add @everyone to Blocked Roles as this will result in no one being able to invoke the command, regardless of Allowed Roles.

The leaderboard command has two additional role fields that can be used to include or exclude users from the leaderboard by using roles. This is usually useful to exclude your moderators and overall staff from the leaderboard, as these are usually typing the most, but you usually want to provide a leaderboard for your users and not your staff. Excluding your staff from the leaderboard will only display regular users in the leaderboard.

You have four options:

  1. Leave both Included Roles and Excluded Roles empty: This will include everyone into the leaderboard.

  2. Add one or more roles to Included Roles: This will include users that have at least one of these roles to the leaderboard only. Users not having any of these roles are out.

  3. Add one or more roles to Excluded Roles: This will include all users to the leaderboard except they have one of those roles. This is usually what you want to do.

  4. Add one or more roles to both Included Roles and Excluded Roles: This will include users that have at least one of the Included Roles as long as they have no one of the Excluded Roles.

Role rewards

If you scroll down a bit, you find the section where you can configure role rewards based on activity levels or time since server join. You can add as many roles as you like by clicking the small plus button on the right. Each role has an index in the upper left corner of its box. If you configured Yunite to only grant the highest role, an user will only receive the role with the highest index out of the roles he is eligible for.

Make sure that Yunite has permissions to assign roles and that Yunites role is above the roles you want to assign in the role list.

For each role, you can set the following settings:

Setting

Description

Select role

Please select the role you want to grant out of the dropdown menu

Grant at level

If an user reaches this level, he will be granted the role, except you only grant the highest role and there is a higher role the user is eligible for

Grant after days

If an user has spent at least this amount of days on your server, he will be granted the role, except you only grant the highest role and there is a higher role the user is eligible for

Usually, you want to set up the roles in a way such that roles with a higher index have higher requirements to reach, so both the Grant at level value as well as the Grant after days value should be higher than the previous role if the index is higher.

If you need to reorder the role to achieve this, you can simply use the arrow buttons on the right to move them up and down.

Patreon

If you enjoy using Yunite, please consider becoming a Patron! Each and every pledge helps to keep this project up and running in the future. Go to: https://patreon.com/yunite‚Äč