+++
title = "Getting started."
description = "This guide on getting started with the marmalade system"
weight = 2
+++

## Getting Started

### What is the Marmalade system?

- It is a dynamic module/plugin/cog system for EllieBot introduced in **EllieBot 4.1.0**

- Allows developers to add custom functionality to Ellie 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/marmalades` folder and are loaded, unloaded and handled through discord commands.
    - `.maload` Loads the specified marmalade (see `.h .maload`)
    - `.maunload` Unloads the specified marmalade (see `.h .maunload`)
    - `.mainfo` Checks marmalades information (see `.h .mainfo`)
    - `.malist` Lists the available marmalades (see `.h .malist`)

### How to make one?

Marmalades 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 Marmalade.

Follow the [creating a marmalade guide](creating-a-marmalade.md)

### Where to get marmalades other people made?

⚠ *It is EXTREMELY, and I repeat **EXTREMELY** dangerous to run marmalades 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 marmalades 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, except asking in the `#dev-and-modding` chat in [#Ellie's Home server](https://discord.gg/etQdZxSyEH)