> For the complete documentation index, see [llms.txt](https://docs.drakodevelopment.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.drakodevelopment.net/core-features/custom-commands.md).

# Custom Commands

Custom commands allow you to create personalized commands that users can trigger with a prefix. You can configure these commands to send either text messages or embeds with buttons.

### Basic Configuration

In your `config.yml`, custom commands are configured under the `CustomCommands` section. Here are the two key settings:

```yaml
CommandsEnabled: true
CommandsPrefix: "!"
```

### Examples

#### MongoDB Setup Command

This command provides users with links and information for setting up MongoDB. It includes rich embeds with detailed descriptions and action buttons for quick navigation.

{% code expandable="true" %}

```yaml
CustomCommands:
  mongo:
    type: "EMBED"
    Embed:
      Title: "📊 MongoDB Setup Guide"
      Description:
        - "To get started with MongoDB, follow the detailed guide provided below. This guide will assist you in setting up MongoDB efficiently and correctly."
        - ""
        - "Need further assistance? Don't hesitate to open a support ticket."
      Footer:
        Text: "Drako Development | MongoDB Setup"
        Icon: "https://i.imgur.com/w5XxKpc.png"
      Color: "#1769FF"
    Roles:
      Whitelist: ["1272331356445347840", "1196187304008622101"]
    Options:
      DeleteTriggerMessage: false
      ReplyToUser: false
    Buttons:
      - Type: "LINK"
        Name: "MongoDB Setup"
        Emoji: "📑"
        Link: "https://docs.drakodevelopment.net/misc/mongodb-setup"
      - Type: "LINK"
        Name: "Wiki"
        Emoji: "📕"
        Link: "https://docs.drakodevelopment.net/"
```

{% endcode %}

#### Welcome Command

A welcoming command that dynamically greets new users, provides a quick start guide, and includes interactive buttons for further exploration.

{% code expandable="true" %}

```yaml
CustomCommands:
  welcome:
    type: "EMBED"
    Embed:
      Title: "🎉 Welcome to Drako Development!"
      Description:
        - "Hello {userMention}! We're glad you've joined our community of {memberCount} developers."
        - "Here's a quick guide to get you started:"
      Fields:
        - Name: "🚀 Quick Start"
          Value: "• Introduce yourself in #introductions\n• Set roles in #role-assignment\n• Check #announcements for updates"
          Inline: false
        - Name: "🆘 Need Help?"
          Value: "Visit #support or use `/ticket` for assistance."
          Inline: false
      Footer:
        Text: "Joined on {longTime}"
        Icon: "https://i.imgur.com/w5XxKpc.png"
      Author:
        Text: "Drako Development Team"
        Icon: "https://i.imgur.com/w5XxKpc.png"
      Color: "#1769FF"
    Roles:
      Whitelist: []
    Options:
      DeleteTriggerMessage: true
      ReplyToUser: true
    Buttons:
      - Type: "LINK"
        Name: "Documentation"
        Emoji: "📚"
        Link: "https://docs.drakodevelopment.net"
      - Type: "REPLY"
        Name: "Quick Tour"
        Emoji: "🗺️"
        Style: "Primary"
        Reply:
          Type: "TEXT"
          Ephemeral: true
          Embed:
            Title: "🗺️ Quick Server Tour"
            Description:
              - "📢 #announcements - Latest news"
              - "💡 #ideas-and-feedback - Share suggestions"
              - "🤖 #bot-commands - Test our bots"
              - "🎓 #tutorials - Learn new skills"
            Footer:
              Text: "Enjoy your stay at Drako Development!"
              Icon: "https://i.imgur.com/w5XxKpc.png"
            Author:
              Text: "Server Guide"
              Icon: "https://i.imgur.com/w5XxKpc.png"
            Color: "#4CAF50"
            Image: "https://i.imgur.com/w5XxKpc.png"
            Thumbnail: "https://i.imgur.com/w5XxKpc.png"
            Timestamp: true
            Fields:
              - Name: "Important Links"
                Value: "Check out our [website](https://docs.drakodevelopment.net/)"
                Inline: true
              - Name: "Support"
                Value: "Need help? Create a ticket!"
                Inline: true
```

{% endcode %}

### Additional Notes

* **Available Placeholders:**&#x20;

  ```yaml
  {guildName}, {guildId}, {userName}, {userId}, {userMention}, {channelName}, {channelId}, {channelMention}, {commandName}, {longTime}, {shortTime}, {memberCount}
  ```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.drakodevelopment.net/core-features/custom-commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
