Slash commands (/help) give you a menu, autocomplete and validated options; prefix commands ($help) are a plain message, faster to type and familiar to anyone who used Discord before 2022. You do not have to pick: Noxyr answers every command both ways, with a default prefix of $ that each server can change. Here is what actually differs between the two, and when each one wins.
A short history
For years every bot used a prefix: !play, ?ban, -help. Then Discord introduced slash commands and, in 2022, required verified bots to use them by removing access to message content for most bots. Slash commands became the standard, and a generation of users never learned the prefix way. But plenty of servers still prefer typing $help to scrolling a menu, and mobile keyboards make the slash menu fiddly, so bots that support both keep everyone happy.
What slash commands do better
- Discovery. Type
/and every command appears with a description. No help page needed. - Validation. A channel option only accepts channels; a number option only accepts numbers. Mistakes are caught before the bot sees them.
- Autocomplete. Searching a song, a product or a playlist while you type only works with slash commands.
- Forms. Pop-up forms (modals) such as
/quick catalog addor a suggestion box can only open from a slash interaction. - Private replies. An ephemeral reply, visible only to you, is a slash feature.
What prefix commands do better
- Speed.
$skipis five keystrokes. No menu, no waiting for the picker to load. - Any client, any context. A message is a message, on the oldest phone or through a bridge from another platform.
- Muscle memory. Long-time members and staff who have typed
!commands for a decade do not want to relearn. - Copy and paste. A staff guide can say "run
$ticket close reason:spam" and people can paste it as-is.
How Noxyr does both
Every slash command has a prefix twin with the same name, the same subcommands and the same options. Noxyr parses the message into the same shape the slash command would have produced, then runs the same code, so permissions and behaviour are identical. A few rules to know:
- Subcommands follow the name:
$ticket close,$music settings,$referrals link. - Options are
name:value:$sticky set text:"Read the rules" delay:300. Quotes keep spaces together. Unnamed words fill the required options in order, so$play never gonna give you upjust works. - Mentions or names both work:
#channel,@role, a raw ID, or the plain name of the channel or role. - Yes and no: boolean options accept yes/no, on/off, true/false.
- Files: attach an image to the message and it fills the attachment option.
- Private replies go to your DMs. When a command would have answered only you, the reply is sent to your DMs with a note about which server it came from, because a plain message cannot be ephemeral.
- Forms stay slash-only. If a command opens a pop-up form, the prefix version tells you to run the slash command instead.
Changing the prefix
/prefix view shows the current prefix, /prefix set prefix:! changes it (one to five characters, no spaces, so !, ?, n! or nx. all work) and /prefix reset goes back to $. The prefix is per server, and your custom bot uses the same one. If another bot on the server already uses !, pick something else so both do not answer the same message.
Which should your server use?
Both. Point new members at the slash menu, since it teaches itself, and let staff and regulars type prefix commands. The one thing to standardise is documentation: write your internal guides in one style so nobody wonders whether $ and / behave differently. On Noxyr they do not.
Common questions
Do prefix commands need Message Content Intent? Yes, and Noxyr has it. If you run a custom bot, that intent is one of the two you switch on when you set it up.
Can I turn off prefix commands? Choose an obscure prefix if you want them out of the way; slash commands keep working regardless.
Is the prefix shared between servers? No, each server has its own.
See the full command list, or add Noxyr and try $help.