Skip to content

Discord webhook

Configuration file: discord.yml. Two rendering modes:

  • classic — traditional embed plus link buttons. Universally supported.
  • components-v2 — native Discord Components V2 layout (containers, sections, thumbnails, separators, media galleries, buttons). Strongly recommended for new setups.
discord.yml
webhook:
enabled: true
url: "INSERT-WEBHOOK-URL"
username: "Nautic Studios"
avatar: "https://i.imgur.com/ip1xV13.png"
mode: components-v2 # or: classic

Applied only to substituted placeholders ({player}, {package}, …). Literal text in the file is never touched.

discord.yml
filters:
strip-words:
- kit
- rank
- package
replace:
vip: "VIP"
mvp: "MVP"
multi-package:
multiline: true
bullet: ""
inline-separator: ""
FilterBehavior
strip-wordsRemoves the listed words (case-insensitive). Kit ASTROASTRO.
replaceMaps raw input → display string.
multi-package.multilinetrue = one per line with bullet. false = inline with inline-separator.
PlaceholderReplaces with
{player}Buyer name
{package}Purchased package(s)
{price}Purchase price
Any customs-args keyIts value
discord.yml
classic:
content: ""
embed:
enabled: true
title: "🛒 New Purchase"
url: ""
color: "#00FFAA"
description:
- "**{player}** purchased **{package}**"
fields:
- { name: "Player", value: "{player}", inline: true }
- { name: "Package", value: "{package}", inline: true }
- { name: "Price", value: "{price}", inline: true }
author: { name: "Server Store", url: "", icon: "" }
footer: { text: "Powered by Nautic Studios", icon: "" }
image: ""
thumbnail: "https://mc-heads.net/avatar/{player}"
buttons:
- { label: "Visit Store", url: "https://store.example.com" }
- { label: "Join Discord", url: "https://discord.gg/example" }
FieldDescription
contentPlain text above the embed (mentions go here).
descriptionList of lines.
fields[].inlinetrue lays fields side by side.
thumbnailTop-right image. Use mc-heads.net/avatar/{player} for the buyer’s head.
buttonsUp to 5 link buttons.
discord.yml
components-v2:
accent: "#00FFAA"
layout:
- type: text
content: "## 🛒 New Purchase"
- type: separator
- type: section
text:
- "**Player:** `{player}`"
- "**Package:** `{package}`"
- "**Price:** `{price}`"
thumbnail: "https://mc-heads.net/avatar/{player}/128"
- type: separator
spacing: 2
- type: text
content: "-# Powered by Nautic Studios"
- type: buttons
items:
- { label: "Visit Store", url: "https://store.example.com" }
- { label: "Join Discord", url: "https://discord.gg/example" }

accent colors the left bar and wraps the layout in a Discord Container.

typeFields
textcontent: string or list of strings. Markdown supported.
separatordivider (true / false, default true), spacing (1 / 2).
sectiontext (list), thumbnail (image URL).
mediaitems: ["url", ...] — image gallery.
buttonsitems: [{ label: "Visit Store", url: "https://store.example.com" }] — max 5 per row.
- type: text
content: "## 🛒 New Purchase"
- type: text
content:
- "**Player:** `{player}`"
- "**Package:** `{package}`"
Last updated: May 27, 2026 by Senkex in 3f98ebe