Embed script
Every custom message (welcome, goodbye, punishment DMs, tickets, level-ups, tags…) is plain text or an embed written in this script.
Plain text
Anything that doesn't start with {embed} is sent as a normal message, with variables filled in.
A plain message
Welcome {user.mention} to **{guild.name}**! You're member #{guild.count}.Embeds
Start with {embed}, then add parts separated by $v. Each part is {name: value}. Parts with several values separate them with &&.
A simple embed
{embed}$v{title: Welcome, {user.display_name}!}$v{description: Read the rules and have fun.}$v{color: #5865f2}$v{thumbnail: {user.display_avatar}}Every part
| Part | What it does |
|---|---|
{message: text} | Normal text sent above the embed (put pings here) |
{title: text} | The embed's title |
{url: link} | Makes the title a link |
{description: text} | The main text; Markdown works |
{color: #5865f2} | The side colour: a hex code or a colour name |
{image: link} | A big image at the bottom |
{thumbnail: link} | A small image in the top right |
{author: name && icon link && link} | A small line above the title; the icon and link are optional |
{field: name && value} | A field. Add inline to put fields side by side: {field: Members && 1,204 inline} |
{footer: text && icon link} | Small text at the bottom; the icon is optional |
{timestamp} | Shows the time it was sent, in each reader's own time zone |
{button: …} | A button under the message (see below) |
Text above an embed
{embed}$v{message: Hey {user.mention}!}$v{title: Welcome to {guild.name}}$v{description: You're our {user.join_position_suffix} member.}Fields, side by side
{embed}$v{title: Server info}$v{field: Members && {guild.count} inline}$v{field: Boosts && {guild.boost_count} inline}$v{field: Created && <t:{guild.created_at_timestamp}:R>}Author, footer and timestamp
{embed}$v{author: {user.name} && {user.display_avatar}}$v{description: Thanks for joining!}$v{footer: {guild.name} && {guild.icon}}$v{timestamp}Buttons
- Link buttons open a website:
{button: https://example.com && Label && 🔗}(the emoji is optional). - Coloured buttons are for decoration (clicking does nothing):
{button: green && Label}. Colours:blurple,gray,green,grey,red. - Add
disabledas another value to grey a button out.
Buttons
{embed}$v{description: Pick where to go next.}$v{button: https://gim.fyi/commands && Commands}$v{button: https://gim.fyi/discord && Support && 💬}$v{button: green && Just looking}Discord's limits
When you save a template, the bot tells you if a part is too long. The limits are Discord's:
| Part | Up to |
|---|---|
| Message text | 2,000 characters |
| Title | 256 characters |
| Description | 4,096 characters |
| Fields | 25 fields; name 256, value 1,024 characters |
| Author / footer | 256 / 2,048 characters |
| The whole embed | 6,000 characters |
| Buttons | 25, labels up to 80 characters |
Who gets pinged
A message only pings what you wrote yourself: a {….mention} variable like {user.mention}, or a mention you typed. Mentions that arrive inside other values (someone's nickname, for example) show up but never ping, and @everyone / @here never ping.
Building and copying embeds
- ,createembed sends an embed straight away. It doesn't need
{embed}at the start. - ,embedcode gives you the code of an existing message, to copy and change.
- ,embed create saves an embed under a name to reuse it later.
Add logic with conditionals (
{if}…{/if}), for example a different welcome for bots.