Leveling, role rewards, reminders, custom level messages, custom welcome messages, media channels, emote reactions, logging & more!
At first just written for our own server to replace other bots or add on functionality already in discord. Now better tested and running stable on our server for a while. I am still actively working on the bot and feature requests are more than welcome. Majority of the features in the current version are requested by users or something we found useful in our server that could not be done with discord itself.
A short list of functionality, more detailed info below.
The bot uses a permissions and role system. Permissions are coded into the bot and available for you to assign to as many roles as you like, those roles can be assigned to as many users as you like. Users can also have multiple roles.
View Roles
Create role
, Delete role
, Update role
, Permissions
, Update permission from role
, Update roles from user
,Manage the config
, Manage timeouts
, Media filter
, Increase cringe counter
, Decrease cringe counter
, Manage custom commands
, Manage reactions
, Manage rewards
, Manage xp for users
, Manage channel flags
,
Manage log config
, Add mention replies
, Remove mention replies
, Manage reply groups
,Manage blacklist
, Manage server invites
, Manage custom messages
Admin
View Roles
Create role
, Delete role
, Update role
, Permissions
, Update permission from role
, Update roles from user
, Manage the config
, Manage timeouts
, Media filter
, Increase cringe counter
, Decrease cringe counter
, Manage custom commands
, Manage reactions
, Manage rewards
, Manage xp for users
, Manage channel flags
,
Manage log config
, Add mention replies
, Remove mention replies
, Manage reply groups
, Manage blacklist
, Manage server invites
, Manage custom messages
.
Moderator
Manage timeouts
, Media filter
, Increase cringe counter
, Decrease cringe counter
, Manage custom commands
, Manage reactions
, Manage channel flags
, Add mention replies
, Remove mention replies
, Manage reply groups
, Manage blacklist
, Manage custom messages
.
role_name
• Add a new rolerole_name
• Delete a roleuser_mention
• See your roles or those from another userrole_name
perm_name
• Add permission(s) to a rolerole_name
perm_name
• Remove permission(s) from a roleuser_mention
role_name
• Add user to the given roleuser_mention
role_name
• Remove user from given role";If enabled users can gain xp by sending messages and hanging out in voice. Check the Bot config section below for more control how much xp people gain per message, per minute in voice and if you want to enable this functionality at all. It is possible to attach role rewards to levels, when a user reaches that specific level a new role is granted.
For gaining xp in voice we have two extra rules:
no_xp
will not gain XP.More on how to set the no_xp flag to a channel later.
This is what I use to calculate required XP for each level: 5 * (lvl ^ 2) + (50 * lvl) + 100 - xp
it is the exact same XP system as MEE6 uses. You can read more here -> https://github.com/Mee6/Mee6-documentation/blob/master/docs/levels_xp.md
user_mention
• Show your own level, xp and messages or that of another useruser_mention
xp_amount
• Give user xpuser_mention
xp_amount
• Remove user xpuser_mention
• Reset XP for userlevel
role_id
• Add a role reward to a levellevel
• Delete role rewards from this level";You can add role rewards based on how long people are in the server. Some duration examples:
<duration>
<role>
<duration>
The bot loads a config from the settings table which can be viewed and changed, it allows only integer values! So when setting channels or roles make sure to use the IDS.
setting_name
new_value
xp_count
- xp gained per messagexp_cooldown
- seconds cooldown after last message before it counts againxp_voice_count
- xp gained in voicexp_voice_cooldown
- cooldown for xp gain in voiceenable_xp
- enable the message xp systemenable_voice_xp
- enable the voice xp systemenable_emote_counter
- enable emote countersenable_role_rewards
- enable role rewards for gaining levelsenable_bump_counter
- enable bump counterenable_reactions
- enable custom reactionsenable_commands
- enable custom commandsenable_logging
- enable general loggingenable_mention_responder
- Enable the responses when you mention the botenable_qotd_reminder
- Enable the role mention in set question of the day channelenable_join_role
- Enables giving users a role when they join the serverenable_welcome_msg
- Enable the welcome messageenable_lvl_msg
- Enable level up messageenable_bump_reminder
- enable reminder tagenable_count
- Enable the counting channelbump_channel
- Channel where the bump reminders are taggedqotd_channel
- Channel to tag qotd rolecount_channel
- Counting channel IDwelcome_msg_channel
- Channel to welcome userlevel_up_channel
- Channel to send level up messageslog_channel_id
- set the channel ID where the log sends messagesbump_reminder_role
- Role to be tagged for bump remindersqotd_role
- Role to tag in qotd channeljoin_role
- Actual role to give when a user joins the servercurrent_count
- Current counter for counting channelUsers have their own settings per guild. For now, I only use a single setting but more to come soon.
no_role_rewards
- Disables gaining role rewards based on levels (if the guild has it enabled)You can use the following commands to view/change your own settings:
<setting_key>
<setting_value>
- Update a value in your user configThe bot is able to log some events to a specific log channel, you have to set the following two settings properly in the bot config to make it work:
enable_logging
- Enable the general loglog_channel_id
- Id of the channel where the log sends messagesI pretty much copied the way MEE6 logs events, it looks the same but it logs more and there is no delay. Not sure why MEE6 is sometimes so laggy.
The following events are logged:
You can enable/disable each event in the log config:
key
value
- Enable or disable one of the eventsYou can set reminders in a specific channel with a custom message! For now the reminder interval is in minutes!
interval
channel
message
id
We have some commands which can help moderate the server, or improve other things!
We are not satisfied with the audit log and how timeouts are displayed and filtered. It is not easy to quickly look up how often somebody has been timed out, for what reason and how long. Every timeout is automatically saved in the database including the reason and duration. We can easily see a history of timeouts + filter timeouts only for specific users.
<user_mention>
- All timeouts or those from a specific user<timeout_id>
<new_reason>
- Update the reason for a timeout<timeout_id>
- Remove a timeout from the log onlyPeople can be put on a blacklist manually or automatically.
<user_mention
<reason>
- Add someone to the blacklist<user_mention>
- Remove someone from the blacklistYou can make sure the bot gives users a role when they join the server. In order to make it work you have to set the following settings:
enable_join_role
- Enable or disable giving the rolejoin_role
- ID of the actual role to giveSince discord requires a "Mange server" permission to pause invites I added a simple command to do it with the bot:
When adding custom messages you can use the :user
parameter in you message to be replaced with a tag of the user,
for level up messages you can also use :level
. Example:
Welcome :user!
Congrats :user you are now :level!
You can add custom welcome messages to the bot. It wil pick one of the random messages and sends it in the channel set in the config.
<message>
- Add new level up message<message>
- Delete level up message (Message is autocompleted)You can set custom messages when users level up to a certain level. If you don't set any, a default message will be used if level up messages are enabled. When a user levels up, it checks for the highest message in the list which is not higher than that users level. Meaning if you set 2 messages, one for level 1 and one for level 10. The level 1 message will be used until that user reached level 10.
<level>
<message>
- Add new level up message<level>
- Delete level up messageSmall funny feature, when you tag the bot you will get a random reply from a list of mention replies. There are default replies, but you can also add your own replies based on certain roles or users in the server.
The bot comes with some default groups and replies:
You can manage all groups and their replies by using these commands:
discord_role
- Add a groupgroup_id
- Delete a group and its replies (!!!)group_id
- Show all replies for a single groupgroup_id
reply_line
- Add a reply to a groupreply_id
- Delete a replyA few fun commands you can use!
search_term
- Searches on urban dictionaryquestion
- Ask a question to the 8ballquestion
- Ask a question and get a gif responsesomething
- say somethingtime-range
• Check the monthly or all time bump leaderboard<user>
- Increase someone's cringe counter<user>
- Decrease someone's cringe counterIn order to make the bump reminder work, you need to set the following 3 settings:
enable_bump_reminder
- Enable 2 hour tag for people who want to bump the discordbump_reminder_role
- Role to be tagged for bump remindersbump_channel
- Channel where the bump reminders are taggedIn our server some people post questions every day, when they do the bot tags people who want to be reminded that a new question is posted. This way I do not have to give mention permissions which can be abused easily.
Check these settings:
qotd_channel
qotd_role
enable_qotd_reminder
You can write /help
on discord to get information on most commands in the bot and explanation how they work.
You can pick your section from the list and get more info.
That's it for now! Enjoy! :)
5
6 reviews
Reviews can be left only by registered users. All reviews are moderated by Top.gg moderators. Please make sure to check our guidelines before posting.
5 stars
6
4 stars
0
3 stars
0
2 stars
0
1 star
0
3 months ago
As a community manager always on the lookout for tools that enhance server management, I stumbled upon Berend Botje and was blown away by its capabilities. This Discord bot is an absolute game changer, streamlining server management tasks like never before!
4