# Suggestions

In your `suggestions.yml`, navigate to the **`SuggestionSettings`** section.

Key settings:

* **`UseQuestionModal`**\
  Must be set to `true` to enable modal-based suggestions.
* **`AdditionalModalInputs`**\
  Defines up to **4 extra fields** in your suggestion modal.\
  These fields can be either:
  * `TextInput` → Free text fields
  * `StringSelect` → Dropdown menus with predefined options

***

### 🔧 AdditionalModalInputs Structure

Each input requires the following properties depending on its type:

#### 1. Text Inputs

```yaml
    1: # Additional details text input
      Type: "TextInput"
      ID: "details" # {modal_details}
      Question: "Additional Details (Optional)"
      Placeholder: "Any extra context, examples, or details about your suggestion..."
      Style: "Paragraph" # Short + Paragraph
      Required: false
      maxLength: 2000
```

#### 2. StringSelect Dropdowns

{% code expandable="true" %}

```yaml
    2: # Product selection dropdown
      Type: "StringSelect"
      ID: "product" # Available as: {modal_product}, {modal_product_formatted}, {modal_product_label}, {modal_product_emoji}
      Label: "Product Selection"
      Description: "Which product is this suggestion for?"
      Placeholder: "Choose a product..."
      Required: true
      Options:
        - Label: "Drako Bot"
          Value: "drako_bot"
          Description: "Multi-purpose Discord bot"
          Emoji: "🤖"
        - Label: "Drako Tickets"
          Value: "drako_tickets"
          Description: "Advanced ticket management system"
          Emoji: "🎫"
        - Label: "Discord Platform"
          Value: "discord"
          Description: "General Discord platform suggestions"
          Emoji: "💬"
        - Label: "Other"
          Value: "other"
          Description: "Other products or services"
          Emoji: "📦"
```

{% endcode %}

***

### 📝 Example Configuration

Here’s a complete example with a mix of inputs:

{% code expandable="true" %}

```yaml
SuggestionSettings:
  UseQuestionModal: true
  AdditionalModalInputs:
    1: # Product field
      Type: "TextInput"
      ID: "product"
      Question: "Which product is this suggestion for?"
      Placeholder: "Drako Bot, Drako Tickets, Discord"
      Style: "Short"
      Required: true

    2: # Priority dropdown
      Type: "StringSelect"
      ID: "priority"
      Label: "Suggestion Priority"
      Placeholder: "Choose a priority..."
      Required: true
      Options:
        - Label: "🟢 Low Priority"
          Value: "low"
        - Label: "🟡 Medium Priority"
          Value: "medium"
        - Label: "🔴 High Priority"
          Value: "high"

    3: # Category dropdown
      Type: "StringSelect"
      ID: "category"
      Label: "Suggestion Category"
      Required: false
      Options:
        - Label: "🐛 Bug Fix"
          Value: "bug"
        - Label: "✨ New Feature"
          Value: "feature"
        - Label: "⚡ Improvement"
          Value: "improvement"
```

{% endcode %}

***

### 🏷️ Using Placeholders in Embeds

Once configured, these inputs can be displayed inside your `SuggestionEmbed` using placeholders:

| Placeholder              | Example Output    |
| ------------------------ | ----------------- |
| `{modal_[ID]}`           | `low`             |
| `{modal_[ID]_formatted}` | `🟢 Low Priority` |
| `{modal_[ID]_label}`     | `Low Priority`    |
| `{modal_[ID]_emoji}`     | `🟢`              |

#### Example Embed

{% code expandable="true" %}

````yaml
SuggestionEmbed:
  EmbedColor: "#1769FF"
  EmbedTitle: "{user}'s Suggestion"
  EmbedDescription:
    - "**Suggestion**"
    - "```{suggestion}```"
    - ""
    - "**📋 Details**"
    - "> **Product:** {modal_product}"
    - "> **Priority:** {modal_priority_formatted}"
    - "> **Category:** {modal_category_formatted}"
  EmbedFooter: "Suggestion ID: {SuggestionID} | {LongTime}"
  Thumbnail: true
  AuthorIcon: true
````

{% endcode %}

***

### ⚙️ Important Notes

* Maximum **4 inputs** per modal (Discord limitation)
* Maximum **25 options** per dropdown
* Labels and values must each be **≤ 100 characters**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.drakodevelopment.net/core-features/suggestions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
