Executing Commands

How to use Nevi's commands: prefixes, shortcuts, arguments, quotes, and everything you need to know about the command system.

Slash commands vs text prefix

Nevi supports two ways to run commands:

Slash commands

Type / in Discord and pick a command from the popup. Discord handles the argument prompts for you.

Text prefix commands

Type your server's prefix followed by the command name. The default prefix is !, so you'd type !daily, !balance @user, etc.

Admins can change the prefix with /prefix set. Prefixes can be 1-5 characters with no spaces — common choices are !, ,, ., or n!.

Everything on this page applies to text prefix commands. Slash commands handle arguments through Discord's built-in UI, so you don't need to worry about syntax for those.

Command shortcuts

You don't need to type the full command name. Nevi uses a greedy prefix matching system — type any unique starting characters of a command name and it will resolve automatically.

You typeResolves to
!pr!profile
!bal!balance
!lea!leaderboard
!trivia!trivia
!serv!serverinfo

If what you typed matches multiple commands (ambiguous), Nevi will ask "Not sure what you mean, sorry! Did you mean...?" and suggest the closest match.

How resolution works

  1. Exact match — if you typed a full command name, it's used directly
  2. Priority alias — single or two-letter shortcuts that are hardcoded for common commands
  3. Greedy prefix — finds all commands that start with what you typed. If exactly one matches, it's used. If multiple match, it's ambiguous.

Priority aliases

Some very short shortcuts are reserved for specific commands so they always resolve without ambiguity:

bban
kkick
mmute
wwarn
ddaily
ffarm
hhelp
pping
qqueue
bjblackjack
lbleaderboard
rrreactionrole
npnowplaying
ssserverstats
uiuserinfo
gagiveaway
cccustomcmd
hbhackban

Permission-aware shortcuts

Aliases are permission-aware. For example, w resolves to warn for moderators (who have access to it), but to work for regular users. Nevi picks the command you can actually use.

Subcommand shortcuts

Greedy matching also works for subcommands. If a command has subcommands like farm plant and farm plantall, you can shorten them:

You typeResolves to
!farm p!farm plant
!farm pa!farm plantall
!farm h!farm harvest
!farm s!farm seeds

Choice-based arguments work the same way — typing eas resolves to easy if that's the only choice starting with those letters.

Required and optional arguments

Commands accept arguments in order — just type the values after the command name, separated by spaces. No need to write argument names.

<arg> = required

The command won't run without it. If you forget a required argument, Nevi will tell you what's missing — and some commands will even prompt you for it interactively.

[arg] = optional

Has a sensible default or is simply omitted. For example, !balance checks your own balance, but !balance @Alex checks Alex's.

Examples

!give @Alex 100 — first arg is the user, second is the amount

!farm view 2 — view plot number 2 (optional, defaults to 1)

!blackjack 500 — bet 500 on a game of blackjack

Quotes

Nearly all the time, you don't need quotes. Nevi's argument parser is smart — the last text argument in any command is greedy, meaning it automatically captures everything remaining in your message as one value.

No quotes needed

!autoresponse create hello Welcome to the server! Check out #rules

"Welcome to the server! Check out #rules" is captured as the response, even though it has spaces — because it's the last argument.

Quotes are only needed in one situation: when a multi-word value isn't the last argument and you need to separate it from arguments that come after it.

When quotes help

!giveaway create "Nitro Classic" 24h 1

Without quotes, Nevi would think "Classic" is the duration. The quotes group "Nitro Classic" as a single argument so 24h is correctly read as the duration.

Stacking quotes

!shop add "Cool Sword" "A legendary blade of power" 500

You can quote multiple arguments in a row to disambiguate them. Here the name, description, and price are each clearly separated.

A single unmatched quote (no closing quote) is treated as a regular character, so don't worry about stray quotes breaking anything.

Argument types

Different argument types are parsed differently from text:

TypeWhat to typeExample
UserMention or ID@Alex or 123456789
ChannelMention or ID#general or 123456789
RoleMention or ID@Moderator or 123456789
NumberJust the number100, 5, 2500
Booleantrue/false or yes/notrue, no
TextJust type ithello world

For arguments with fixed choices (like difficulty levels), greedy matching also applies — typing eas resolves to easy if it's the only choice starting with those letters.

Default subcommands

Many commands have a default subcommand that runs when you don't specify one. This means you can skip the subcommand name entirely for the most common action:

You typeSame as
!farm!farm view
!shop!shop view
!stars!stars view
!blackjack 500!blackjack bet 500
!config!config view
!autorole!autorole list

If you type something that doesn't match any subcommand, Nevi uses the default and treats your input as arguments to that subcommand instead.

Named argument syntax

While positional arguments are the primary way to use commands, Nevi also supports an optional named syntax using name:value pairs. This can be useful when you want to skip optional arguments or set them out of order.

Example

!farm plant 1 wheat plot:2

Plants wheat in slot 1 on plot 2. The plot:2 is a named argument that skips to the plot option directly.

You can mix positional and named arguments freely. Named arguments are extracted first, then the remaining values are mapped positionally. Most users will never need this — positional arguments are simpler and work for everything.

Related Commands

/helpgeneral

View available commands

/prefixmanagementRequires admin

Manage the text command prefix for this server