First Addon
Start with the right mental model, then build one small addon before opening the more advanced developer pages.
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
extendsasync/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:
- you write source files in
src/addons/<AddonName> - you build the project
- the bot loads the compiled addon from
build/addons/<AddonName>
For example:
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.tsdoes - what
resources/config.ymldoes - where user-editable config is stored
- how
createConfig()andcreateConfigSection()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