> ## Documentation Index
> Fetch the complete documentation index at: https://greed.best/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Embeds

> Master the fundamentals of greed's custom embed scripting.

## Core Structure

greed uses a specialized token-based system for building embeds. Each component is defined within braces `{}` and follows a `key: value` pattern.

The syntax for a standard parameter is:

* `{` - Opens the parameter block.
* `key:` - Identifies the property (e.g., `title`, `description`).
* `value` - The content or configuration for that property.
* `}` - Closes the parameter block.

### Block Separators

To organize your script or separate individual embed properties, you can use `$v`. In greed's engine, this acts as a newline separator, allowing the parser to clearly distinguish between different nodes.

```javascript Example theme={null}
{title: Hello World}$v{description: This is a custom embed!}
```

<Frame>
  <img src="https://mintcdn.com/emogirlsllc/dwR09Angh5Bfu67g/images/Screenshot-2026-06-07-103726.png?fit=max&auto=format&n=dwR09Angh5Bfu67g&q=85&s=69a91bbe568383827233cecbabb0c90a" alt="Image2[1]" title="Image2[1]" width="646" height="215" data-path="images/Screenshot-2026-06-07-103726.png" />
</Frame>

## Available Parameters

Most parameters take a simple text or URL value.

| Key           | Description                           | Example                             |
| :------------ | :------------------------------------ | :---------------------------------- |
| `content`     | Plain text message outside the embed. | `{content: Hello {user}}`           |
| `title`       | The main title of the embed.          | `{title: Server News}`              |
| `description` | The body text of the embed.           | `{description: Join our Discord!}`  |
| `color`       | The sidebar color (Hex or Decimal).   | `{color: #ccccff}`                  |
| `url`         | Makes the title a clickable link.     | `{url: https://greed.best}`         |
| `image`       | A large image at the bottom.          | `{image: https://.../img.png}`      |
| `thumbnail`   | A small image in the top right.       | `{thumbnail: https://.../icon.png}` |
| `timestamp`   | Adds the current time to the footer.  | `{timestamp}`                       |

### Advanced Parameters

Some parameters support multiple values separated by `&&`.

<AccordionGroup>
  <Accordion title="Author">
    Set the name, icon, and an optional link for the author section.

    * **Syntax:** `{author: name && icon && url}`
    * **Example:** `{author: {user.name} && {user.avatar}}`

    <Frame>
      <img src="https://mintcdn.com/emogirlsllc/CcwPTmK_PLH2xYB8/images/image31%5B1%5D.png?fit=max&auto=format&n=CcwPTmK_PLH2xYB8&q=85&s=a804697b6a04d972204da44a47d96ec0" alt="Image31[1]" title="Image31[1]" width="450" height="182" data-path="images/image31[1].png" />
    </Frame>
  </Accordion>

  <Accordion title="Fields">
    Add organized rows of data. You can include `inline` at the end to place fields side-by-side.

    * **Syntax:** `{field: name && value && inline}`
    * **Example:** `{field: User ID && {user.id} && inline}`
          <Frame>
            <img src="https://mintcdn.com/emogirlsllc/CcwPTmK_PLH2xYB8/images/image9%5B1%5D.png?fit=max&auto=format&n=CcwPTmK_PLH2xYB8&q=85&s=cb32c2a2c47bd2494747fa729a6d5325" alt="Image9[1]" width="463" height="190" data-path="images/image9[1].png" />
          </Frame>

    <Tip>
      You can also use the plural `{fields: ...}` node to define multiple fields at once: `{fields: name: F1 && value: V1 && name: F2 && value: V2}`
    </Tip>
  </Accordion>

  <Accordion title="Footer">
    Configure the small text and icon at the very bottom.

    * **Syntax:** `{footer: text && icon}`
    * **Example:** `{footer: Sent by {user.name} && {guild.icon}}`
          <Frame>
            <img src="https://mintcdn.com/emogirlsllc/CcwPTmK_PLH2xYB8/images/image8%5B1%5D.png?fit=max&auto=format&n=CcwPTmK_PLH2xYB8&q=85&s=e7d4542d8edb3e2e400a293d0aee0837" alt="Image8[1]" width="502" height="176" data-path="images/image8[1].png" />
          </Frame>
  </Accordion>

  <Accordion title="Buttons">
    Add interactive buttons to your message.

    * **Types:** `Blurple`, `Green`, `Grey`, `Red`, or a direct link.
    * **Syntax:** `{button: label && style_or_url && emoji && disabled}`
    * **Example:** `{button: Support Shell && https://discord.gg/greed && emoji: 🛠️}`
          <Frame>
            <img src="https://mintcdn.com/emogirlsllc/CcwPTmK_PLH2xYB8/images/image7%5B1%5D.png?fit=max&auto=format&n=CcwPTmK_PLH2xYB8&q=85&s=18f8f5e26ac74e9994bda9ba38f326a7" alt="Image7[1]" width="731" height="313" data-path="images/image7[1].png" />
          </Frame>
  </Accordion>
</AccordionGroup>

## Mixing Text and Embeds

By default, greed attempts to identify if you are sending a raw text message or an embed script. If you want to ensure the bot parses your script correctly—especially when including variables—begin your message with `{embed}$v`.

```javascript Template theme={null}
{embed}$v{title: Welcome!}$v{description: Glad you joined us, {user.mention}!}
```

<Frame>
  <img src="https://mintcdn.com/emogirlsllc/dwR09Angh5Bfu67g/images/Screenshot-2026-06-07-104405.png?fit=max&auto=format&n=dwR09Angh5Bfu67g&q=85&s=3d2bec1bbd429b71715766f5f0f34067" alt="Image4[3]" width="870" height="194" data-path="images/Screenshot-2026-06-07-104405.png" />
</Frame>

## Tips & Tricks

* **New Lines:** You can create real new lines in your `{description}` by simply pressing `Enter` within the script.
* **Multiple Embeds:** Want to send more than one embed in a single message? Just start a new `{embed}` block!
* **Zero-Width Spaces:** If you need an empty field or title, you can use a zero-width space character.
