how commands work.
prefix, slash, aliases, and the rules every command follows.
the comma prefix
prefix commands begin with the server’s configured prefix. a new server uses a comma, with no space before the command: ,help, not , help. command names are case-insensitive, but arguments such as a reason are passed through to the command that uses them.
,help
,ban @member raiding
,avatar @member| command | what it does | needs |
|---|---|---|
| /prefix | show the current server prefix | anyone |
| /prefix set [prefix] | set a 1–12 character server prefix | administrator |
| /prefix self [prefix] | restore the server prefix to its default value | administrator |
a prefix cannot contain whitespace or @. despite its name, the current prefix self implementation does not keep a separate per-user prefix: it removes the server’s stored override, restoring the default comma. use prefix set when the whole server needs another prefix.
slash equivalents
most registered commands also have an application-command path. discord supplies typed fields for slash arguments, while the prefix form reads one text line. the command reference is the authority for the actual path: grouped commands may move under a root, so ,avatar is /utility avatar, and ,setup is /config setup.
,avatar @member
/utility avatar member: @member
,config view
/config viewboth forms reach the same handler and permission checks. a command marked prefix only is deliberately omitted from discord’s slash tree, usually because its grammar is free-form or cannot be represented safely as slash fields. never assume that adding / to a prefix path produces its slash path; check ,help instead.
reading a usage line
usage lines describe shape, not characters to type. omit the brackets themselves. prefix arguments are split on whitespace; double quotes keep several words together. apostrophes in ordinary text are left alone.
- ::<member>
- required. the command refuses to run when this value is missing.
- ::[member]
- optional. leaving it out makes the command use its documented default.
- ::<reason>
- required free text. enter the words, not the angle brackets.
- ::[category or command]
- one optional value chosen according to the words in the label.
- ::"multi-word value"
- double quotes preserve one argument when a command expects a single name.
,help moderation
,restrictcommand add "config view" @staff
,ban @member repeated invite spammembers, durations, and amounts
member arguments accept a discord mention, a numeric user id, or one exact username or display name from the server. names that match more than one member are rejected as ambiguous; an id or mention resolves that. some ban commands can fetch an account by id even after it has left, but ordinary member arguments only resolve members of the current server.
durations are joined number-and-unit pairs. supported units are s, m, h, d, and w; combinations such as 1d12h work. the general parser allows at most one year, while individual commands can impose a smaller cap. amounts shown as integers must be whole numbers. command-specific minimums and maximums still apply.
,timeout 123456789012345678 2h repeated spam
,mute @member 1d12h
,purge all 25if two members share a display name, havoc will not guess. use a mention or numeric id. role and channel arguments follow the same exact-name-or-id rule.
aliases
an alias is another prefix name registered for the same command. for example, ,av resolves to ,avatar, ,si resolves to ,serverinfo, and ,userinfo resolves to ,user. aliases do not create alternate slash paths; use the slash path reported by help. restrictions are canonicalized too, so restricting an alias gates its underlying command.
| command | what it does | needs |
|---|---|---|
| /avatar / av | show avatar information | anyone |
| /serverinfo / si | show server information | anyone |
| /user / userinfo | show member information | anyone |
| /embed create / createembed | send a validated json embed | manage messages |
| /embed edit / editembed | edit one of havoc’s embeds | manage messages |
asking the registry
,help lists categories. give it a category to see that group, or a command to see its usage, aliases, permission requirement, and slash path. this data comes from the running command registry, so it is more reliable than remembering an old example.
,help
,help utility
,help restrictcommandslash help is private to the invoker. prefix help is a normal channel reply. if a command is absent, confirm its exact name and category before treating the problem as a permission failure. the troubleshooting guide covers missing application commands separately.
gating commands to roles
discord permissions remain the first safety layer. restrictcommand adds a second rule: a member must hold one of the roles attached to that command. quote a multi-word command path in prefix form. a restriction on a parent path also applies to its subcommands.
| command | what it does | needs |
|---|---|---|
| /restrictcommand add <command> <role> | allow the command only for the named role | manage server |
| /restrictcommand remove <command> <role> | remove one role from that command gate | manage server |
| /restrictcommand list | show all stored command restrictions | manage server |
| /restrictcommand reset | delete every command restriction in the server | manage server |
,restrictcommand reset clears the entire restrictions namespace, not one command. members still need each command’s discord permission, but role-only gates disappear immediately.
