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

# Syntax

> A guide on how to structure command inputs properly.

## Specifying Time Durations

Many commands require you to define a specific length of time. You can easily do this by combining a number with a time unit indicator.

Here are the supported indicators you can use:

* `s` (Seconds)
* `m` (Minutes)
* `h` (Hours)
* `d` (Days)
* `w` (Weeks)
* `y` (Years)

If you need a more precise timeframe, you can chain these units together without any spaces. For instance, if you want an action to last for one week and two days, you would simply write `1w2d`.

### Moderation Examples

When using moderation commands like `timeout`, you can specify either a single unit (like 1 hour) or a combination of units (like 2 days and 3 hours). Ensure there are no spaces between your time combinations.

<CodeGroup>
  ```bash Correct theme={null}
  # Single unit
  .timeout @user 1h Spamming

  # Combined units
  .timeout @user 2d3h Breaking rules
  ```

  ```bash Incorrect theme={null}
  # Adding spaces breaks the command
  .timeout @user 1 h Spamming
  .timeout @user 2d 3h Breaking rules
  ```
</CodeGroup>

### Giveaway Examples

Similarly, when starting a giveaway, the duration parameter requires the exact same format. You can start a simple giveaway using one unit or a more specific one by chaining units together.

<CodeGroup>
  ```bash Correct theme={null}
  # Single unit
  .gstart 1w 1 Nitro

  # Combined units
  .gstart 1w2d 1 Nitro
  ```

  ```bash Incorrect theme={null}
  # Adding spaces breaks the command
  .gstart 1 w 1 Nitro
  .gstart 1w 2d 1 Nitro
  ```
</CodeGroup>

***

## Using Custom Embeds

ZEON features a powerful interactive embed builder. Once you design and save an embed using the `.embed create <name>` command, you can easily attach it to any module's custom message (like Welcome, Autoresponder, or Vanity Roles).

To attach an embed to a module's response, simply include the `{embed:name}` syntax anywhere in the message text.

### How it Works

1. First, create your embed using the bot's embed builder:
   `.embed create welcome_card`
2. Customize the title, description, colors, images, and variables using the interactive dropdown menu provided by the bot.
3. Once saved, you can trigger this embed in your module's setup command by adding `{embed:welcome_card}` to the text.

<CodeGroup>
  ```bash Correct theme={null}
  # Attaching an embed to a welcome message
  .welcome message Hello {user}! Please read the rules below. {embed:welcome_card}
  ```

  ```bash Incorrect theme={null}
  # Spaces inside the embed syntax will break the parser
  .welcome message Hello {user}! {embed: welcome_card}
  ```
</CodeGroup>

<Note>
  The `{embed:name}` variable itself will be invisible in the final output. The bot seamlessly strips it from the text and attaches the actual rich embed below the message. Additionally, any standard variables (like `{user}`) that you placed inside the embed builder will parse normally!
</Note>
