Suggestions

The suggestion system allows members to submit ideas through a modal form. You can fully customize this modal with text inputs and dropdown menus using Discord’s latest modal components.

In your config.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

    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

    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: "📦"

📝 Example Configuration

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

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"

🏷️ 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

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

⚙️ Important Notes

  • Maximum 4 inputs per modal (Discord limitation)

  • Maximum 25 options per dropdown

  • Labels and values must each be ≤ 100 characters

Last updated