Skip to main content

Configuring the Administration Module

Note

Originally written by NaviKing, updated to reflect the current slash commands and dashboard pages.

The Administration module is the first module you should use when managing a Discord server. It will let you configure all of the following options:

  • Activity Logging
  • Greeter
  • Automatic role assignment/removal
  • Self-assignable roles

This guide will serve as a brief introduction for how, why, and when you should use these commands. It is not meant as a replacement to the documentation for each command. For more details, please consult the full Administration documentation page.

Warning

This guide assumes you have all the necessary permissions to run each command. The easiest way (but not necessarily suggested, in an absolute way) to make sure all commands work is to have the Administrator permission on one of your roles, and to make sure the bot has Administrator on one of its roles. For specifics on the permissions needed for each command, see the full Administration documentation.

You can start setting up the rest of the modules right away. Unless otherwise specified, this introduction will assume you have a dedicated, private channel, such as #bot-console, for running bot commands. You don't need to have such a channel setup, but it's often useful to separate bot commands from other messages and keep them private.

Server Activity Logging

Logging server activity is important to supplement Discord's server Audit Log and to capture activity that it does not, such as deleted messages and attachments. Discord's Audit Log also clears out old activity, while messages in a channel will remain forever.

The logging module also includes the ability (only for patrons of the bot developer) to selectively ignore specific users and channels, meaning that you are still able to control the information that is logged on your server. This is important if your logs are visible to a group of people that not all channels are visible to.

Logging Example

Here is one way to set up the logging for your server.

  1. Create the following channels
    • #log-members
    • #log-users (If you are a patron of the bot developer)
    • #log-messages
    • #log-mod
    • #log-warn
    • #log-roles
    • #log-channels
    • #log-voice (If you are a patron of the bot developer)
    • #log-server (If you are a patron of the bot developer)
  2. Run the following commands in each channel (/log toggle also accepts a channel: option if you'd rather run it from somewhere else)
    • /log toggle type:Members
    • /log toggle type:Users (if you are a patron)
    • /log toggle type:Messages
    • /log toggle type:Moderation
    • /log toggle type:Warning
    • /log toggle type:Roles
    • /log toggle type:Channels
    • /log toggle type:Voice (if you are a patron)
    • /log toggle type:Server (if you are a patron)
  3. If your Discord name is @NaviKing, you are a patron, and you have an #admin-channel that isn't visible to Moderators, you can have the bot ignore you and all the messages in that channel from your server's Logger page on the dashboard.

Note

While the moderation module will log some external moderation actions, it is primarily intended to be used with the warning log in conjunction with the bot's moderation module. This module will be discussed in another guide.

Greeter

When new members join your Discord server, it is often nice to welcome them to the server and give them some guidance on what to do next. The bot includes two types of greeters: one that sends a direct message to a user when they join the server, and another that sends a message in a specific channel. Some administrators prefer to have slightly different messages in each, while others prefer to use only one. You can also configure the greeter to delete itself after a certain amount of time.

Greeter Example

Note

All greet/goodbye configuration is done from your server's Welcome and Goodbye page on the dashboard.

You could set up a greeter as follows

  1. Create a #greeter channel
  2. On the Welcome and Goodbye dashboard page, enable the channel greeter and set its channel to #greeter
  3. Set the greeter message to "Welcome to the server, %user%!"
  4. Set the auto-delete delay to 60 seconds
  5. If @NaviKing joins your server, the bot will send the message "Welcome to the server, @NaviKing!" in the #greeter channel, and then delete it after 60 seconds.

The same dashboard page also lets you enable a DM greeter with its own message (it won't be auto-deleted, since it's a direct message) alongside, or instead of, the channel one. Remember that some users have direct messages disabled by default though, so it might not always work.

Remember, if you enable one or both greeters but don't set a message, nothing will happen when users join the server!

Automated Role Assignment/Removal

Oftentimes, it's useful to grant a role to a user as soon as they join the server. Sometimes this is used to bar new users from viewing certain channels, to give all users a different color from the default Discord color, or just to recognize the users as new! This is a common feature in Discord bots, but this bot also features the ability to automatically remove one or more roles after a certain amount of time.

The bot also allows you to specify a role that users receive when they join a voice channel. This is often used to allow users access to a corresponding text channel.

Note

All roles used in commands should exist prior to running the command. The bot will not create roles that don't already exist.

Role Assignment/Removal Example

Note

Automatic role assignment/removal and voice-channel roles are configured from the dashboard rather than typed as commands.

  1. If you want to give a Newcomer role to members that join the server, enable automatic role assignment on your server's Settings page and set it to Newcomer
  2. You can then have the bot remove this role after 3 days by setting an automatic role removal entry for Newcomer with a 3-day delay, on the same Settings page
  3. On the Self-Assignable Roles / Voice Roles page, set the General voice channel's associated role to "General Voice"
    • This will give the General Voice role to users that join the General voice channel.

You can undo any of these at any time from the same dashboard pages - disable the toggle, or clear the role/channel field.

Note

The time code format (mo/w/d/h/m for months/weeks/days/hours/minutes) is still used by several slash commands' duration options (for example /mute and /ban). For example, 1d3h2m means 1 day, 3 hours, and 2 minutes. More info is available in the Time Format Code section of the Docs 101 page.

Self-Assignable Roles

See also

Different use cases of the same topic are described in the Reaction Roles and Self Assignable Roles guide.

One of the most complex modules of the bot, this allows you to configure roles that users can assign to themselves via the bot. It is strongly recommended to read the full documentation on self-assignable roles. This section will cover only the basics.

Self-assignable roles are used for many reasons.

  • Users may want to opt in or opt out of specific channels. By allowing specific roles access (or excluding them) via channel permissions, users have control over which channels they can or can't see.
  • Users may want to change their Discord name color. By creating roles with a variety of colors, users can self assign a color of their choice
  • Users may want to volunteer for certain duties. For example, creating a taggable @Helper role and making it self-assignable allows people to volunteer to be tagged if they need help.
  • Users may want to opt in for notifications. For example, instead of using @everyone for server updates, you can create a taggable @Server Updates role. Users can then opt in to this role and be tagged if there are updates about the Discord server

Setting up Self-Assignable Roles - Basics

Note

Adding and removing roles from a self-assignable Role Group is done from your server's Self-Assignable Roles / Voice Roles page on the dashboard.

In this bot, you add any number of roles to a group of self-assignable roles from that dashboard page - for example, adding Role1, Role 2, Role 3 and Role4 to group 1.

You can still list all the self-assignable roles on the server with /selfroles list. It will display them by group.

Advanced per-group options (mode, required roles, auto-removal, and more) are configured on the same Self-Assignable Roles dashboard page.

Using Self-Assignable Roles

Users can then assign themselves these roles using a role menu (explained later) or via /role get, and remove these roles via /role drop. For example

/role get role:Role1

will add Role1 to the user that runs the command and

/role drop role:Role1

will remove the role

Role Menus

Some users find it difficult to use /role get and /role drop because it requires the role name to be typed exactly correct. Many users find it simpler to use role menus, which allow users to assign and remove roles from a single group by clicking on a button of a message. Continuing the previous example, you can use the following command to create a role menu for group 1

/rolemenu create group:1

The bot will create a message to use as the role menu with one button for each role, using the name of the role as text of the button.

You may also find that you want to add additional roles to a role group. In that case, you can run the following command to have the bot refresh the buttons for the roles in the most recent role group in the channel, or specify a valid message ID to update the role menu on that channel

/rolemenu update

Similarly, if you want to remove a role menu, you can use the following command to remove the most recent role menu in the channel, or specify a valid message ID to remove the role menu from that message. It will not delete the buttons, just prevent them from being used as a role menu

/rolemenu remove

Refer to the Reaction Roles and Self Assignable Roles guide for more information about this specific use case.

Summary

The administrative module greatly enhances the functionality of your server. You can enable logging of various items on your server, greet people as they join, automatically give and remove roles from them, and even allow people to pick their own roles! These functions are the foundation of a flexible server structure and allow for greater customization, tracking, and organization.