# Getting Started

## What is the Medusa system?

* It is a dynamic module/plugin/cog system for WizBot introduced in **WizBot 4.1.0**
* Allows developers to add custom functionality to WizBot without modifying the original code
* Allows for those custom features to be updated during bot runtime (if properly written), without the need for bot restart.
* They are added to `data/medusae` folder and are loaded, unloaded and handled through discord commands.
  * `.meload` Loads the specified medusa (see `.h .meload`)
  * `.meunload` Unloads the specified medusa (see `.h .meunload`)
  * `.meinfo` Checks medusae information (see `.h .meinfo`)
  * `.melist` Lists the available medusae (see `.h .melist`)

## How to make one?

Medusae are written in [C#](https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/) programming language, so you will need at least low-intermediate knowledge of it in order to make a useful Medusa.

Follow the [creating a medusa guide](/docs/medusa/creating-a-medusa.md)

## Where to get medusae other people made?

⚠ *It is EXTREMELY, and I repeat **EXTREMELY** dangerous to run medusae of strangers or people you don't FULLY trust.* ⚠\
⚠ *It can not only lead to your bot being stolen, but it also puts your entire computer and personal files in jeopardy.* ⚠

**It is strongly recommended to run only the medusae you yourself wrote, and only on a hosted VPS or dedicated server which ONLY hosts your bot, to minimize the potential damage caused by bad actors.**

No easy way at the moment.


---

# 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://ndocs.wizbot.cc/docs/medusa/getting-started.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.
