GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — CustomDCBot/developer-docs at main · ScootKit/CustomDCBot

Expand file tree

/

developer-docs

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
/

developer-docs

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
README.md
README.md
 
 
commands.md
commands.md
 
 
config-localization.md
config-localization.md
 
 
configuration.md
configuration.md
 
 
database-models.md
database-models.md
 
 
events.md
events.md
 
 
field-encryption.md
field-encryption.md
 
 
intents.md
intents.md
 
 
localization.md
localization.md
 
 
migration.md
migration.md
 
 
nickname-manager.md
nickname-manager.md
 
 
writing-a-module.md
writing-a-module.md
 
 

README.md

Outline

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.
  • Commands - config / run / subcommands / autocomplete, options, context-menu commands, registration.
  • Gateway intents - declaring intents / optionalIntents in module.json, degrading when a privileged intent is not granted, the operator allowlist.
  • Database models - Sequelize Model.init pattern, models-dir, accessing models from events.
  • Field-level encryption - the secure-storage serialization layer: which columns are protected and how to register a new sensitive field.
  • Localization - adding strings to locales/en.json and using localize().
  • Nickname manager - the shared service for changing member nicknames without modules fighting each other.

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):

  • V2 schema - legacy, still parsed when _schema is absent.
  • V3 schema - tag with "_schema": "v3".
  • V4 schema - tag with "_schema": "v4".

Migration

  • Migration - writing database migrations so schema changes reach existing installs.

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.

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.