Command roles
Choose which Discord roles can use each Farm Sim Game command, by category or one at a time, on the website or with /setup, and see how the check works.
On this page
- Before you start
- Set it up on the website
- Set it up in Discord
- Settings explained
- How the permission check works
- Which commands use roles
- Examples
- Give your moderators the warn system
- Let your support team open tickets for members
- Troubleshooting
- A member gets "You do not have the permission to use that command!"
- A member can't see the command at all
- A role isn't in the Roles list
- "Select a command and at least one role that isn't already assigned to it."
- Related
Most of the bot's commands are for staff, so out of the box only Administrators can use them.
Command roles let you hand a command to the roles that need it: give your moderators /warn and
/mute, your support team /ticket, and so on. You can assign roles on the website, a whole
category at a time or one command at a time, or from Discord with /setup. Both change the same list.
Before you start#
- Make sure your roles are on the website. If a role is missing from a list, run
/setupin Discord, choose Update Channels and Roles for Website, then reload the page. - Public commands (like
/helpand/game) work for everyone and can't be limited. Admin-only commands (/setup,/echo,/say) aren't in the list. See Which commands use roles.
Set it up on the website#
It's under Bot in the sidebar. Scroll down to the Command Roles card.
Use Assign by Category to cover every command in a category, or Assign to a Single Command for one command.
Choose from Category or Command. Commands show their category in brackets, like warn (WarnSystem).
Select one or more roles in Roles.
Click Add to Category or Add to Command. You'll see "Category roles added!" or "Command role added!", and the Current Command Roles table updates.
To take a role off a command, click the red trash button on its row in Current Command Roles and confirm "Remove this role from this command?".
Set it up in Discord#
/setup and choose Command RolesYou need Administrator. The bot lists 8 commands per page, each with its allowed roles or No Roles Setup. Use Previous and Next to see the rest.
Choose it in Select a slash command to update roles for. The bot shows the command's Current Roles.
In Search for roles to allow., select up to 25 roles. Deselect a role to remove it. Select none to remove them all.
The bot confirms the command and lists the roles you added.
👁️ Only you can see this • Dismiss message
Settings explained#
| Setting | What it does |
|---|---|
| Assign by Category | Adds the selected roles to every command in that Category in one go. Roles a command already has are skipped. |
| Assign to a Single Command | Adds the selected roles to one Command. |
| Current Command Roles | Every role assignment for this server: Category, Command and Role, with a button to remove it. Shows "No command roles configured yet - all non-public commands are currently restricted to Administrators." when empty. |
Add to Category adds the roles to each command in that category as it is today. Each one then shows as its own row in the table, and you remove them one by one. If a new command is added to that category later, assign it separately.
How the permission check works#
When someone runs a command, the bot checks, in this order:
- Discord permissions in that channel. The member and the bot both need View Channel and Send Messages, plus any extra permission the command needs (like Administrator for
/setup). If one is missing, the bot says so in the channel for 10 seconds. - Public commands run straight away.
- Administrator always passes.
- Command roles: if the member has at least one role assigned to that command, it runs.
- Otherwise the member gets "You do not have the permission to use that command!", visible only to them.
Assignments only ever add access. A command with no roles assigned is for Administrators only. If the bot can't read the role list (for example during a database problem), it refuses the command rather than letting everyone use it.
The right-click apps share their slash command's roles: Warn User and Warn Message User use
warn, Mute User and Mute Message User use mute, and User Info uses userinfo.
Some commands are hidden by Discord from members without a matching permission. For example
/warn, /mute, /unmute and /removewarn need Timeout Members, /ban and /unban need
Ban Members, /kick needs Kick Members and /prune needs Manage Messages. If you give a
role one of these commands but the role doesn't have that permission, also allow the role in
Server Settings → Integrations (open the bot there), or members won't see the command to use it.
Which commands use roles#
These are the commands you can assign roles to, grouped by the category shown on the website:
| Category | Commands |
|---|---|
| Information | botinfo, serverinfo, userinfo (and the User Info app) |
| Miscellaneous | server (/server new and /server power ...) |
| TicketSystem | ticket |
| Utilities | apply, invite, prune |
| WarnSystem | ban, kick, mute, removewarn, unban, unmute, warn, warns (and the warn and mute apps) |
Some of these check something extra, so a command role alone isn't enough:
/botinfoalso needs Administrator./server newand the/server powercommands also need Manage Server.
These work for everyone and don't use roles: /bump, /bumps, every /game ... command, /help,
/ping and /playtime.
These are for Administrators only and aren't in the list: /setup, /echo and /say.
Examples#
Give your moderators the warn system#
- In Assign by Category, pick WarnSystem.
- In Roles, pick
@Moderator. - Click Add to Category.
Your moderators can now use /warn, /warns, /removewarn, /mute, /unmute, /kick, /ban
and /unban, plus the warn and mute apps. Remove ban and unban from the table if you'd rather
keep bans for admins.
Let your support team open tickets for members#
In Assign to a Single Command, pick ticket (TicketSystem), choose @Support and click
Add to Command.
Troubleshooting#
A member gets "You do not have the permission to use that command!"#
- Check Current Command Roles for a row with that command and one of their roles.
- For the apps, assign the slash command they belong to (
warn,muteoruserinfo). - Role changes in Discord apply straight away. There's nothing to sync for the check itself.
A member can't see the command at all#
Discord hides it from them. See the warning in How the permission check works.
A role isn't in the Roles list#
Run /setup → Update Channels and Roles for Website in Discord, then reload the page.
"Select a command and at least one role that isn't already assigned to it."#
Every role you picked already has that command. Pick a different role, or check the table.