Skip to main content

Overview

Every command starts with a prefix of the server: ! and the word petto by default (!help and petto help both work). The word petto always works, whatever prefixes you choose (even if the server uses only !n), and it cannot be removed. Arguments are positional and space-separated, wrap anything with spaces in “quotes”. A server can have several prefixes, up to 10. The first one is the main prefix: help, cards and examples show it. A server that chose a prefix of its own keeps exactly that one. If you forget a custom prefix, mention Petto instead: @Petto prefix always works and shows the current one.
kira types !prefix and nothing happens, then @Petto prefix shows that the prefix of the server is ?

In Discord: with a forgotten prefix, !prefix gets no answer, but a mention of Petto does.

Several prefixes

  • A symbol (!, ,, ?, p!) is typed attached to the command: ,help. A space after it (, hello) is not a command.
  • A word (it ends in a letter or a number, like petto) is not case sensitive and needs a space: petto help or Petto help. It only starts a command when the next word is a real command, an alias or a custom command, so petto is great is just chat.
  • The longest prefix goes first, so with ! and !! in the list, !!help is read with !!.
  • Only the main prefix answers “I don’t know that command”, and only to a word written like a command (!hello). The other prefixes, the word ones and your own prefix stay silent when the word is not a command.
  • The comma is not a default. Other bots use ,, so Petto does not answer to it unless you add it: !prefix add ,.
  • Your own prefix (!myprefix) and the custom commands that start with the prefix work with every prefix of the list.
  • Each prefix has 1 to 12 characters, no spaces, no @ and no backticks, and cannot be repeated.

Skipping an optional argument

Commands with several optional fields in a row (like !ticket category edit or !welcome setup) let you skip straight to the one you want with --fieldname value, instead of typing every field before it.
liam runs !welcome setup with the welcome channel and --message, and Petto saves the channel and the message

In Discord: --message fills the message of !welcome setup without typing the fields before it.

Mix and match freely, plain positional values and --flags can appear in the same command. This only matters for optional fields, required ones always need a plain value in order. A name with an underscore can be written with a dash too: --window-seconds 10 is --window_seconds 10.
name:value (like limit:3) is how Discord writes the options of a slash command. With the prefix it is not read as a name, so write --limit 3 instead.

Commands

Run !prefix with no argument to see the list. !prefix add <prefix> adds one (up to 10), !prefix remove <prefix> removes one (the last one cannot be removed), and !prefix reset goes back to ! and petto. !prefix <prefix> (or !prefix set <prefix>) makes that prefix the only one, as it always did (petto and the mention of Petto still work). It needs Manage Server. !help opens the browser of every command, with buttons to the dashboard, the docs, the Commands page of the website and the support server, and !help ticket category add looks one up directly, including a specific subcommand. !prefix also works as !pfx, and !help as !h.
liam checks the prefix, which is !, and @Petto that always works, then sets it to ?

In Discord: !prefix shows the current prefix, and !prefix ? changes it.

liam tries the prefix petto! and Petto says it must be 1 to 5 characters without spaces

In Discord: a prefix longer than 5 characters is refused.

The help menu of Petto: how many commands there are, how many also work with /, the language of the server and a menu of categories

In Discord: !help, with the categories in a menu and links to the dashboard, the docs and the support server.

The Configuration category of !help: what it is for, how many commands it has, a button back to the menu and a menu of its commands

In Discord: after picking Configuration in the menu, the same message lists its commands.

The help card of ticket category add with its aliases, its parameters, who can use it, the prefix and slash syntax and an example

In Discord: one subcommand looked up directly, with its aliases, options and both forms.

shi looks up tiket and Petto suggests !help ticket, !help time and !help timer

In Discord: a command typed wrong gets the closest names.

In the dashboard, the Command Prefixes card of the General page shows the list and has a Manage prefixes button. It opens a window: write a prefix, press +, remove the ones you do not want with their x, and press Save. It tells you what is wrong (too long, spaces, repeated, @, more than 10) before saving, and it works on a phone.
The Server settings page with the command prefix, the server language, the mute role and the public ranking

Dashboard → Dashboard → Settings: the Command Prefixes, next to the server language and the mute role.

Slash commands

Every command works with the prefix. The everyday ones are also in Discord’s / menu, with the same answers and the same checks, so members who never learned a prefix can still use them. The prefix form keeps working for all of them. That is 67 commands in all: 64 slash commands and 3 context menus. The !<module>config cards and a few team tools stay prefix only.
/help answers in the channel and shows both forms of a command: the slash one next to the prefix syntax. Its menus describe each option, and its buttons open the dashboard, these docs and the support server.
sam.k uses /help ban user and gets a card with the prefix syntax, the slash syntax and an example

In Discord: /help shows the slash form next to the prefix syntax.

Who sees each slash command

Discord hides a slash command from members who don’t have the permission it needs, so the / menu only shows what someone can use: A server can change who sees a slash command in Server Settings → Integrations → Petto. That is how a role picked for a command in !moderation can use it from the / menu too: allow the command for that role there, and Petto’s own checks still apply. The everyday slash commands are not offered in DMs. See Command permissions for how Petto checks a command.
New or changed slash commands can take a moment to show up. Reloading Discord (Ctrl+R) usually helps.