Ir al contenido

Módulos

Zumito proporciona un conjunto de módulos oficiales que extienden tu bot con funcionalidades listas para usar. Cada módulo es un paquete npm bajo el scope @zumito-team y se integra directamente con el framework de Zumito mediante la configuración bundles.

Todos los módulos extienden Module de zumito-framework y se registran en el ServiceContainer. Pueden proporcionar:

  • Servicios — Clases inyectables consumidas por otros módulos.
  • Comandos — Comandos slash/prefix de Discord.
  • Rutas — Endpoints HTTP (páginas admin, API, etc.).
  • Elementos de navegación — Entradas en la barra lateral del Admin o User Panel.

Los módulos pueden declarar dependencias de otros módulos mediante las propiedades estáticas dependencies y optionalDependencies. El framework resuelve automáticamente estas dependencias y carga los módulos en el orden correcto usando ordenamiento topológico. Consulta Ciclo de vida del módulo para más detalles.

El siguiente grafo muestra las relaciones de dependencia entre los módulos oficiales. Estas se resuelven automáticamente por el framework durante el arranque.

zumito-framework (core)
├── admin-module
│ └── reactions-module
├── builtbybit-license
├── canvas-module
│ ├── stickmanfight
│ └── distube-module
├── discord-auth
│ ├── admin-module
│ └── user-panel-module
├── file-manager
│ ├── s3-assets
│ └── local-filesystem
├── logger-module
├── sentry
├── user-panel-module
│ └── distube-module
└── stickmanfight

Instala cualquier módulo vía npm y agrégalo a los bundles de tu zumito.config.ts:

zumito.config.ts
export default {
bundles: [
'@zumito-team/admin-module',
'@zumito-team/logger-module',
// ...
]
}