Introduction
Understand what addon development is, when you should use it, and where to start.
Addon development is how you add new code-driven features to ItsMyBot.
If you only need automations, custom messages, or custom commands built from existing blocks, start with scripts first.
What an addon is
An addon is a compiled package loaded by the bot from build/addons/<AddonName>.
An addon can add:
- Discord interactions
- Discord events
- scripting actions and conditions
- custom triggers
- placeholder expansions
- leaderboards
- config files
- translations
That is the important distinction: addons add new capabilities to the bot. Scripts mostly use capabilities that already exist.
When to build an addon
Build an addon when:
- you want to add a real new feature to the bot
- you need custom TypeScript logic
- you need database models, API calls, or custom services
- you want to extend the scripting engine itself
Do not start with an addon when:
- you only want to automate existing bot behavior
- you only need custom messages, modals, or buttons
- you only need custom commands built from existing actions
For those cases, use these first:
What you need before starting
Before learning addon development, make sure you have:
- the ItsMyBot GitHub repository, not only a marketplace build
- basic TypeScript knowledge
- basic understanding of
class-validator - a local build of the bot that you can start and test
If those basics are still unclear, it is better to learn them first. Addon development becomes much easier once TypeScript classes, async code, and validation decorators already make sense.
Where to study real addons
Start with:
- Addons docs for documented official addons
- the ItsMyBot GitHub repository, especially
src/addons
The bundled addons are useful references:
_Examplefor the starter templatePresetsfor script-related extensionsMCStatusfor placeholder expansionsStatsChannelfor a more practical addon with config and interactions
Where to start
Read the developer section in this order:
First Addon
Start here for the first setup, first addon class, first config file, and first working command.
Additional Features
Continue here when the addon needs more than the basics, such as events, leaderboards, actions, conditions, triggers, or expansions.
Reference
Use examples, utils, and the dictionary once the addon structure already makes sense.
If you are still unsure whether you need an addon, start with scripts first. They are faster to learn, faster to test, and already cover many common automations.