Skip to content

Latest commit

 

History

History

README.md

Developer Documentation

Guides for people writing modules or contributing to the bot core.

Module authors

Start here if you want to add a new feature as a module:

  • Writing a module - file layout, module.json, lifecycle, end-to-end example.
  • Events - event handler shape, lifecycle gates (botReadyAt, allowPartial, ignoreBotReadyCheck), Discord and custom events you can listen to.
  • Slash commands - config / run / subcommands / autocomplete, registration, options.
  • Database models - Sequelize Model.init pattern, models-dir, accessing models from events.
  • Localization - adding strings to locales/en.json and using localize().

Configuration schema

For module config files (config.json, streamers.json, etc.):

  • Configuration files - schema reference: field types, defaults, dependsOn, elementToggle, validation.
  • Country localization - how user-facing strings in config files are extracted and translated.

Message schemas

The string + embed format used in allowEmbed config fields. Canonical reference (v2 / v3 / v4):

Migration

  • Migration - upgrading between major bot versions.

Validation

Run npm run verify-configs to validate every module's config schema. CI runs this on every PR via .github/workflows/verify-configs.yml.