Creating Presets

Setting Up

Let's create our first preset! Navigate to the bot's file directory (where the JAR file, settings.yml, and other Embeddy files are) and open the presets folder. If the folder does not exist, you can manually create it.

Create a new YML file with the ID/name of your preset. For example, if I wanted to create an preset called test, I would create a file called test.yml.

Although .yml and .yaml are both supported extensions for YAML, Embeddy only recognizes files with the .yml extension.

Configuring the Preset

Now for the important part- customizing the elements of your preset. The following configuration shows and explains how you can customize every single component of an preset. If you do not wish to use an option, you may remove the line completely.

This file shows multiple lines with the same key (ex. 3 different lines for the "author" option). This is for demonstration purposes only- you should only use 1 format for each option and never have duplicates of the same option.

# The raw message content (outside the embeds).
raw-message: |
  Line 1
  Line 2
  Line 3

# The embed messages. Maximum 10.
embeds:
  # The embed number. Must be unique.
  1:
    # The color, must be a HEX code prefixed with the hashtag symbol.
    color: "#00FFB2"

    # The author component (goes above the title)- 3 possible formats:
    # Format 1 - Text Only
    author: "Demeng"
    # Format 2 - Clickable Text with Link (text;;link)
    author: "Demeng;;https://demeng.dev/"
    # Format 3 - Text, Link, Icon (text;;link;;iconUrl)
    author: "Demeng;;https://demeng.dev/;;https://demeng.dev/branding/icon.png"

    # The embed title- 2 possible formats:
    # Format 1 - Text Only
    title: "Example Embed"
    # Format 2 - Clickable Text with Link (text;;link)
    title: "Example Embed;;https://demeng.dev/embeddy"

    # The description, the main content of the embed.
    description: "This is some random text."
    # Alternative format - Multiple Lines
    description: |
      Line 1
      Line 2
      Line 3

    # The embed footer- 2 possible formats:
    # Format 1 - Text Only
    footer: "Made with Embeddy"
    # Format 2 - Text and Icon (text;;iconUrl)
    footer: "Made with Embeddy;;https://demeng.dev/branding/embeddy/icon.png"

    # The embed thumbnail, displayed as a square at the top right corner.
    thumbnail: "https://demeng.dev/branding/embeddy/logo.png"

    # The image displayed at the bottom, after the main content.
    image: "https://demeng.dev/branding/cover.png"

    # The timestamp displayed in the footer.
    # Use -1 for current time, or unix epoch time in milliseconds for custom.
    timestamp: -1

    # Embed fields. This is the config section containing all the fields.
    fields:
      # The field number (doesn't really matter, just no duplicates).
      1:
        # The field title.
        name: "Field 1"
        # The field description.
        value: "Some random text."
        # If the field should be inlined with other fields.
        inline: false
      # Second field.
      2:
        name: "Field 2"
        value: |
          More random text.
          But this one is on 2 lines!
        inline: false
      # Third field.
      3:
        name: "Last Field"
        value: "I'm the final random text :)"
        inline: false

# The buttons that will be displayed at the bottom of the message.
buttons:
  # The button number. Must be unique.
  1:
    # The button row. Must be between 1 (the first row) and 5.
    row: 1
    # The button style. Must be one of the following: PRIMARY, SECONDARY, SUCCESS, DANGER, LINK
    style: "LINK"
    # The button text.
    # Note that buttons can have a label, an icon, or both a label and an icon.
    label: "Button Text"
    # The button icon. Can either be a unicode emoji or a custom emote in the format <:name:id>.
    # Note that buttons can have a label, an icon, or both a label and an icon.
    icon: "<a:check_animated:846848839386267669>"
    # The URL the button redirects to if the style is LINK.
    # If the style is not LINK, this must be a unique identifier for the button.
    # If you do not include this, a unique identifier will be automatically generated.
    id-or-url: "https://demeng.dev/embeddy"
    # Whether this button should be disabled (not clickable).
    disabled: false
  2:
    row: 1
    style: "PRIMARY"
    label: "Primary Button"
  3:
    row: 1
    style: "SUCCESS"
    icon: "⭐"

Last updated