Permissions

Understanding and configuring bot permissions

permissions roles staff manager access admin

Discord Permissions vs Dashboard Permissions

Netrcol uses two separate permission systems:

- Discord Permissions — These are the standard Discord role permissions (Administrator, Manage Server, Ban Members, etc.) that control what the bot can do within your server. The bot needs specific Discord permissions to perform actions like creating channels, managing roles, or moderating members.
- Dashboard Permissions — Access to the Netrcol web dashboard is controlled by Discord OAuth2. To manage a server on the dashboard, you must have either Administrator or Manage Server permission in that Discord server. Developer IDs configured in the bot's settings can bypass this restriction.

Permission Doctor

Netrcol includes a built-in Permission Doctor that automatically audits your server's permission configuration. It checks each enabled module and its configured channels and roles, then generates a health report with findings categorized by severity:

- Critical — The bot is completely unable to function in a configured channel or module (e.g., a required channel does not exist or the bot cannot view/send messages in it).
- High — A significant feature is impaired (e.g., missing Manage Messages permission in a moderation channel).
- Warning — A minor issue that may affect optional functionality.

The report produces a health score from 0 to 100 and provides actionable fix suggestions with direct links to the relevant dashboard settings page. You can access the Permission Doctor from the server overview page.

Command Permission System

Each command in Netrcol can have its own permission settings, configured through the dashboard under the Moderation module:

- Enabled/Disabled — Toggle individual commands on or off for the entire server.
- Role Requirements — Restrict commands so only members with specific roles can use them.
- Channel Restrictions — Limit commands to specific channels or channel categories.
- Premium Gating — Some commands may require the server to have Premium status.
- Vote Gating — Certain commands can require users to have voted for the bot on Top.gg.

Server administrators always bypass command restrictions. The permission check evaluates in order: admin bypass, premium/vote requirements, role restrictions, and channel restrictions.

Staff Roles

Several modules use the concept of staff roles to grant elevated access to trusted members:

- Ticket Staff Role — Members with the ticket staff role can see and manage support tickets. Each ticket topic can optionally have its own dedicated staff role, allowing different teams to handle different ticket categories.
- Registration Staff Roles — The interactive registration system lets you assign multiple staff roles. Members with these roles can approve or reject registration applications.
- Support Team Role — The dashboard support system uses a configurable support team role to determine which members can respond to in-dashboard support tickets.

Staff roles are configured per module in their respective dashboard settings pages.

Dashboard Access Hierarchy

Dashboard access follows this hierarchy from highest to lowest privilege:

1. Bot Owner / Developer IDs — Full access to all servers the bot is in, including the developer panel. These are configured via the ownerId and dashboard.developerIds settings or the DEVELOPER_ID environment variable.
2. Server Administrators — Members with Discord's Administrator permission can access and configure all modules for their server on the dashboard.
3. Server Managers — Members with Discord's Manage Server permission can access the dashboard for their server.
4. Support Agents — Members assigned as support agents can access the support audit panel but not server configuration.
5. Regular Members — Can access their own profile, blog, and public pages but cannot modify server settings.
For the best experience, we recommend the following setup:

1. Grant Administrator to the bot role for simplicity, or manually grant all required permissions listed in the Getting Started guide.
2. Run the Permission Doctor after enabling modules to catch any missing permissions.
3. Configure staff roles for tickets, registration, and support before going live.
4. Keep the bot role high in the role hierarchy — the bot can only manage roles that are below its own highest role. Place the Netrcol role above any roles it needs to assign (auto-role, reaction roles, registration roles).
5. Review command permissions in the Moderation settings to restrict sensitive commands (ban, kick, mute) to appropriate staff roles.