ItsMyStudio

First Addon

Start with the right mental model, then build one small addon before opening the more advanced developer pages.

Support

If you want to learn addon development, start here.

This section is written for the first real addon, not for advanced scripting extensions or large production addons.

Before you begin

Use the ItsMyBot GitHub repository, not only a marketplace build. You need the source code, the addon folders, and _Example to learn how addons are structured.

Before writing addon code, be comfortable with:

  • TypeScript classes
  • extends
  • async / await
  • imports / exports
  • basic typing
  • class-validator decorators

If those basics still feel unclear, learn them first:

What you are building first

Your first addon should stay intentionally small:

  • one addon class
  • one config file
  • one slash command or one event

That is enough to understand the full addon flow without mixing too many concepts at once.

How addons work in ItsMyBot

The important rule is simple:

  1. you write source files in src/addons/<AddonName>
  2. you build the project
  3. the bot loads the compiled addon from build/addons/<AddonName>

For example:

index.ts

That is why the build step matters so much. The runtime does not read your TypeScript files directly from src/addons.

What each part does

For the first addon, you only need to understand these pieces:

Prop

Type

Read this section in order

Create one small working addon

Open Create Your First Addon.

That page covers:

  • the minimal folder structure
  • the addon class
  • one config file
  • one slash command
  • the correct build loop

Add configuration properly

Then open Add Configuration.

That page explains:

  • what resources/config.ts does
  • what resources/config.yml does
  • where user-editable config is stored
  • how createConfig() and createConfigSection() work

Continue only when the first addon works

Once the addon class, config, and first command already make sense, continue with:

  • Additional Features for interactions, events, leaderboards, actions, conditions, triggers, and expansions
  • Reference for examples and helper APIs

On this page