Skip to content
Setup

Discord custom commands: create your own slash commands without code

Discord custom commands made easy: set up /rules, /ip or /socials as slash commands with placeholders, embeds and permissions, no coding needed.

  • 10 min read
  • 7 steps
Contents

On almost every server, members keep asking the same questions: Where are the rules? What's the server IP? Where can I find your stream? Instead of typing the same text every time, you set up custom commands. A member types /ip and gets the right answer straight away, always worded the same way and always up to date.

Discord itself doesn't offer custom text commands. Slash commands always come from an app, in other words from a bot. In this guide you'll create custom commands with Lizbot without writing a single line of code: with placeholders, as an embed, limited to certain roles or channels, and, if you like, brought over from a bot you used before.

When custom commands are worth it

A custom command pays off whenever an answer is needed often and rarely changes. Proven ideas:

CommandContentFor whom
/rulesthe key rules in short form with a pointer to the rules channeleveryone
/ipserver IP, version, supported editionsgame servers
/socialslinks to your website, stream and video channelcreators, projects
/faqanswers to the three most common questionseveryone
/helphow to open a ticket or report someoneeveryone
/schedulewhen streams, practice sessions or events take placecreators, teams
/mod-notestandard text the team posts when someone breaks the rulesteam only

Less suitable are things that change every day and long texts that really belong in a channel of their own. A command should give a quick answer, not replace a handbook. You don't need custom commands for moderation itself: Lizbot already has warn, timeout, kick and ban, and the overview is in the guide Discord mod commands.

Custom command or auto-responder?

Lizbot has two ways to reply automatically. The choice is usually simple:

  • Custom command: the member deliberately calls up the answer with /name. Discord suggests the command as soon as someone types /, together with your description. Good for anything people look up on purpose.
  • Auto-responder: Lizbot reacts to a keyword in a normal message, including regular expressions. Good when people just type the question into the chat, such as "what's the ip". You'll find it in the dashboard under Engagement in the Auto-responders tab.

Many servers use both: /ip for everyone who knows the command and an auto-responder for everyone else. Keep the texts identical so there aren't two versions going around.

1. Check the module and open the page

Open the dashboard and pick your server. In the sidebar under Automate you'll find the Custom commands page. The module is already switched on for new servers. If your commands don't show up in Discord later, check under Modules that Custom commands is active. Only then does Lizbot register them with Discord.

On the Free plan you can create up to 20 custom commands, on Pro up to 150 and on Studio as many as you like. For most servers, 20 is plenty. Discord allows at most 100 slash commands per server. Custom commands that no longer fit there are all available through /c.

2. Quick start with a template

If you don't want to start from scratch, use Commands from template at the top of the page. There are five packs:

  • Basic commands: /rules, /socials, /help
  • Support: /ticket-help, /faq, /contact
  • Creator: /stream, /youtube, /merch, /streamplan
  • Community: /introduce, /events, /partner
  • Game server: /ip, /status, /mods

The templates contain sample texts with placeholder addresses like example.com. Make sure you replace them with your real links and details afterwards, or /ip will send your players nowhere.

3. Create a custom command

Click Command. In the New command window, fill in these fields:

  1. Name: this becomes the command, so rules turns into /rules. Lowercase letters, numbers, - and _ are allowed, up to 32 characters. Spaces and accented letters don't work, so write about-us instead of "about us".
  2. Description: Discord shows this text under the name in the command menu, up to 100 characters. Word it so people know what they'll get without trying it, for example "Server IP and version".
  3. Response: the actual text, up to 2000 characters. Discord formatting works, so bold, lists and links. A channel only becomes clickable as <#channel-ID>; a plainly typed #rules stays normal text.
  4. Optionally, the switches and restrictions from the next sections.
  5. Save.

Once saved, the command is available in Discord within a few seconds. If it doesn't appear for you, restart the Discord app or press Ctrl+R in the browser version. Discord doesn't always reload the command list straight away. Which language Discord shows commands in and how to change the bot language is explained in Changing the language of a Discord bot.

The list shows how often each command has been used. That way you can see which commands people actually need and which ones you can drop.

4. Placeholders: replies that think for themselves

Placeholders in curly brackets make every reply personal. Lizbot fills them in when the command is used:

Placeholderbecomes
{user.mention}a mention of the person using the command
{user.name}their Discord display name
{guild.name}your server's name
{guild.memberCount}the current member count
{channel.mention}the channel where the command was used
{args}the extra text the person types in

The {args} placeholder is especially handy. Every custom command automatically gets an optional text option in Discord. Whatever is typed there ends up where {args} stands. Here's an example for a team command /welcome:

```
Hey {args}, welcome to {guild.name}! Check out <#123456789012345678> first, then introduce yourself.
```

Replace the number with the ID of your rules channel. If a team member runs /welcome text:@Alex, Lizbot greets Alex with a mention. If text is left empty, that spot stays empty. So word the sentence so it still makes sense without the extra text, or only use {args} in team commands where everyone knows what goes in.

A placeholder Lizbot doesn't recognise stays in the text unchanged. So if the reply shows {user.nam} instead of a name, you've made a typo.

5. Reply as an embed or only visible to the person

Two switches change how the reply looks:

  • Reply as embed: the text appears in a box with a coloured border. You choose the Embed color right below. Embeds look tidier and suit rules, the server IP or lists of links. For short, casual replies, plain text is often nicer.
  • Only visible to the person who used it: only the person running the command sees the reply. The channel stays clean when ten people type /ip one after another. For commands the team is meant to post publicly, such as a rules reminder, leave this switch off.

If you need an embed with a title, image and link buttons, the embed builder is the right tool. More on that on the Embeds page.

6. Permissions: team only or everyone

Without restrictions, every member can use every custom command everywhere. Two fields in the command let you narrow that down:

  • Only for roles: only members with at least one of the selected roles can use the command. Empty means everyone.
  • Only in channels: the command only works in the selected channels. Empty means everywhere.

Anyone who uses the command anyway gets a short note that they don't have permission. Only that person sees the note.

Good to know: Lizbot checks these permissions when the command is used. Discord still shows the command to everyone in the menu, though. If you also want to hide a team command from the menu, use Discord's own command permissions as well:

  1. Open Server Settings and go to Integrations.
  2. Next to Lizbot, click Manage.
  3. Pick the custom command from the list.
  4. Remove access for @everyone and allow it for your team roles.

Discord then hides the command from members without permission. Keep Only for roles set in Lizbot anyway. That way the command stays protected if someone accidentally resets the Discord setting later.

Members who lack the Use Application Commands permission can't use any slash commands at all. Check it for @everyone in the role permissions if members report that no command shows up. How roles and permissions work together is explained in the guide Set up Discord roles.

7. Bring over commands from another bot

If you used another bot with custom commands before, you don't have to retype everything. In the dashboard under Switch bots there's a Commands tab:

  1. Paste your commands as text, one command per line, such as !rules Please read #rules or rules: text. Alternatively, use Load file to upload a CSV or JSON file with the columns name and response.
  2. Under Placeholders from, pick the bot the commands come from, or Other bot. Lizbot then translates known placeholders into its own format.
  3. Click Check. Under Preview you'll see the result before anything is saved.
  4. Decide whether Overwrite existing commands should be on.
  5. Click Import.

Lizbot adjusts the names along the way: prefixes like ! are dropped, capital letters become lowercase and spaces or other special characters become -. So !Server Info turns into /server-info. Commands are skipped if their name already belongs to Lizbot, if they're duplicates, if they already exist and overwriting is off, or if they go beyond your plan's limit. New commands get the placeholder description "Importiert". Replace it in the dashboard with a clear text afterwards, because that's exactly what Discord shows in the command menu. The whole switch is covered in the guide Switch Discord bots, and you'll find an overview on the Switching page.

Checklist

  • the Custom commands module is active
  • every command has a short, unique name and a clear description
  • sample texts from templates are replaced with real links and details
  • commands many people use reply only to the person who used them
  • team commands are restricted via Only for roles and also in Discord under Integrations
  • placeholders are tested, nothing in curly brackets is left in the reply
  • old commands from your previous bot are imported, and the old bot no longer replies twice

Common mistakes

  • Command doesn't appear: usually Discord hasn't reloaded the list yet. Restart the app. If that doesn't help, click Re-sync commands. Also check that the module is active.
  • Name with capitals, spaces or accents: Discord only accepts lowercase letters, numbers, - and _. The dashboard blocks invalid names, so the confusing part comes later, when you search for "café" and the command is called cafe.
  • Name clashes with a Lizbot command: commands like /ticket or /community poll already exist. The dashboard rejects some names, such as /ticket, straight away. With others, your custom command is saved, but Discord shows Lizbot's built-in command as long as its module is active. So choose a name of your own, such as /ticket-help.
  • Team command visible to everyone: Lizbot's restriction blocks the command from being used but doesn't hide it. Add the command permissions under Integrations.
  • Too many commands: thirty commands nobody knows about help no one. Check the usage count regularly and delete what nobody uses.
  • Outdated info: a wrong server IP is worse than none at all. Plan to update the texts whenever something changes.

FAQ

Can I create custom commands in Discord without a bot?

No. In Discord, slash commands always come from an app. Without a bot, you're left with pinned messages or a dedicated info channel. With Lizbot you create commands in the dashboard without any programming.

How many custom commands can I create with Lizbot?

Up to 20 on the Free plan, up to 150 on Pro and unlimited on Studio. Imported commands count towards the limit, and anything above it is skipped.

Do commands with an exclamation mark like !rules work too?

Lizbot's custom commands are slash commands, so /rules. When importing from another bot, Lizbot removes the exclamation mark automatically. If you want Lizbot to react to !rules as a normal message, set up an auto-responder for it.

Can a custom command give roles or delete messages?

No. Custom commands reply with text or an embed. For self-assignable roles there are role menus, and for moderation there are Lizbot's built-in commands.

Why can I see the command but get "You don't have permission to do that"?

The command is limited to certain roles or channels, and you don't meet that condition right now. Check the Only for roles and Only in channels fields in the dashboard.

Matching Lizbot features

More guides

Matching toolChannel generatorPlan categories and channels for your server with suggestions for each server type and copy the structure as a list. Free in your browser, no sign-up.

Let Liz handle it for you

Invite Lizbot, set it up in the dashboard, done. The Free plan stays free.

Rather ask first? In the support Discord