PixelMint
08 · Customization

Embed Builder & Custom Commands

Build a rich embed by clicking through buttons instead of writing JSON, save it as a reusable template, edit it again later, and optionally turn it into your own custom command — or share it: export a template to another server, or list it in the cross-server Embed Browser for anyone to find. Building requires Manage Server permission.

The visual builder

prefix
embed create

Opens a live preview with one button per part of the embed:

Title & Description

The main heading and body text.

Color

The accent bar down the left edge.

Fields

Add, edit, or remove labeled field/value pairs.

Thumbnail & Image

A small corner image and a large banner image.

Author & Footer

Small text above and below the main content.

Buttons

Add clickable link or action buttons under the embed.

Every change updates the preview immediately. When it looks right:

  • Post Here — sends it to the current channel right away.
  • Save as Template — stores it under a name you choose, to reuse or attach to a custom command later.
  • Webhook — post through a webhook instead, so it appears under a custom name and avatar.

Using saved templates directly

Once something's saved, you don't need the visual builder again to reuse it:

embed templatesprefix

Lists every template saved on this server.

embed post <template>prefix

Posts a saved template straight into the current channel — no trigger word needed.

embed style <system> <template>prefix

Reskins another system's messages using one of your templates. Needs Manage Server.

embed helpprefixhelp

Bare embed shows the same thing — the four commands above, straight from Discord.

Editing a saved template

prefix
embed edit my-template-name
embed edit

Reopens a saved template in the same visual builder you used to create it. Leave the name off and you get a picker listing everything you've saved. Needs Manage Server.

Once you're editing, the builder's buttons change slightly:

Save Changes

Updates the template in place — anywhere it's already used (custom commands, autoresponders, system styles) picks up the new version automatically.

Save as New

Forks it under a different name instead, leaving the original untouched.

Renaming isn't offered here

On purpose — other features reference a template by name, so a silent rename could break something with no obvious cause. Use Save as New under the name you actually want, then remove the old one manually if needed.

Sharing settings

Before a template can be exported or listed publicly, its owner — specifically whoever saved it, not just anyone with Manage Server — has to configure how sharing works for it:

prefix
embed settings my-template-name
SettingWhat it does
VisibilityPublic — anyone can export it instantly. Private (default) — needs the password below, or being on the bypass list.
PasswordRequired before a private template can be exported at all. Stored as a salted hash, never in plain text.
Bypass listUp to 25 specific people who can export a private template without the password.
Wrong passwords are rate-limited

5 failed attempts locks that person out for 10 minutes on that specific template — doesn't affect anyone else trying.

Exporting & importing

The actual sharing mechanism — a template from one server becomes a real, independent copy in another.

prefix
embed export my-template-name
embed import 3f9a2b1c-...
embed import 3f9a2b1c-... as renamed-copy

export gets you a secret ID — instantly if the template's public, after the correct password if it's private. That ID is permanently tied to you: even if someone else gets hold of it, only you can redeem it. import redeems it in whatever server you run it in (needs Manage Server there), recreating the embed as a brand new template — add as <name> to rename it on the way in, otherwise it keeps the original name (or gets a -2, -3, etc. suffix if that name's already taken).

The Embed Browser

A cross-server directory of every template anyone has chosen to list — browse, preview, rate, and one-click import the public ones.

prefix
embed browser
embed browser giveaways
embed browser add my-template-name
embed browser remove my-template-name

Categories: rules, announcements, welcome, giveaways, events, faq, showcase, other.

Listings are ranked by a blend of rating and how many times they've actually been imported — not just star average alone, so one early 5-star vote can't outrank something genuinely popular. Selecting a listing opens a full preview: content, category, rating, use count, and who listed it.

Public listings

One-click Import to My Server button right on the preview.

Private listings

Shows the owner's raw user ID so you can DM them directly and ask — not a mention, since you likely don't share a server with them.

Anyone except the listing's owner can rate it 1–5 stars from the preview screen; only the owner can list or unlist it (embed browser add / remove, both requiring you to be the one who originally saved the template).

Custom commands

Turn any trigger word into an automatic reply — plain text, or a saved embed template.

prefix
customcmd create rules text: Check #rules before posting!
customcmd create announce template: my-template-name
customcmd list
customcmd delete rules

Once created, anyone typing the trigger word gets the configured response — no further setup needed. ccmd works as a shorthand for customcmd everywhere, and customcmd list works for anyone — creating, editing and deleting need Manage Server.

Help command

Bare customcmd or customcmd help prints the full command list from Discord directly. Bare embed or embed help does the same for everything above, including editing, sharing, and the browser.

Tip

Build the embed with embed create first and save it as a template, then attach that template to a trigger with customcmd create <trigger> template:<name> — that's the whole workflow for a rich auto-reply. Prefer it to just post once instead of becoming a permanent command? Use embed post <template> and skip customcmd entirely.

Ask a question

Didn't find what you needed in the docs? Send a question directly.

Handled by FormSubmit — the very first question ever sent will trigger a one-time confirmation step.