API Reference

defineGlyriaConfig

Configure votre bot glyria.js globalement.

Vue d'ensemble

defineGlyriaConfig est une fonction typée permettant de définir la configuration globale de votre bot dans le fichier glyria.config.ts à la racine du projet.

// glyria.config.ts
export default defineGlyriaConfig({
  dev: {
    restartPaths: ['composables', 'utils', 'services'],
    autoImportDirs: ['utils', 'composables']
  },
  theme: {
    embedV2: {
      primaryColor: "#5865F2",
      successColor: "#57F287",
      errorColor: "#ED4245",
      footer: {
        text: "My Bot • v1.0",
      }
    }
  }
})

defineGlyriaConfig est disponible globalement — aucun import nécessaire. ::

glyria.config.ts est rechargé automatiquement en mode développement — aucun redémarrage n’est nécessaire lors d’une modification. ::


GlyriaConfig

dev

Configuration du mode développement (watcher + auto-imports).

OptionTypeDéfautDescription
restartPathsstring[]['composables', 'utils', 'services']Dossiers déclenchant un redémarrage complet du bot
autoImportDirsstring[]['utils', 'composables']Dossiers analysés pour les auto-imports globaux

Par défaut, Glyria surveille votre dossier src/ et applique le comportement suivant :

DossierComportement
commands/Hot reload — commandes réenregistrées instantanément
events/Hot reload — listeners retirés puis réajoutés instantanément
restartPathsRedémarrage complet du bot
Autres fichiersIgnorés

Les fichiers dans des dossiers comme utils/ ou services/ sont chargés une seule fois au démarrage et ne peuvent pas toujours être rechargés proprement en ESM. Un redémarrage complet est donc la solution la plus sûre. ::

Si une commande importe un fichier depuis utils/, la modification de ce fichier peut déclencher un redémarrage (si utils est dans restartPaths). Sinon, le module peut rester en cache. Ajoutez le dossier à restartPaths pour garantir un rechargement propre. ::


autoImportDirs

Les dossiers listés dans autoImportDirs sont analysés au démarrage — chaque export const, export function et export class est injecté automatiquement dans le scope global.

Les chemins doivent être écrits sans src/ ou dist/ — Glyria résout automatiquement le bon chemin selon l’environnement.

export default defineGlyriaConfig({
  dev: {
    autoImportDirs: ['utils', 'composables', 'helpers', 'lib']
  }
})

Les exports de src/index.ts sont toujours analysés automatiquement — aucune configuration n’est nécessaire. ::


theme.embedV2

Thème global appliqué automatiquement à tous les embeds construits avec EmbedV2Builder et createReplyableContext.

OptionTypeDéfautDescription
primaryColorHexColorString#5865F2Couleur principale
secondaryColorHexColorString#4F545CCouleur secondaire
successColorHexColorString#57F287Couleur de succès
errorColorHexColorString#ED4245Couleur d’erreur
infoColorHexColorString#5DADE2Couleur d’information
warningColorHexColorString#FEE75CCouleur d’avertissement
footer.textstringTexte ajouté automatiquement au footer

Couleurs

Les couleurs doivent être définies en hexadécimal sous forme de string (HexColorString de discord.js) :

primaryColor: "#5865F2"  // ✅
primaryColor: 0x5865F2    // ❌ utiliser une string hex, pas un nombre

Lorsque footer.text est défini, il est automatiquement ajouté à chaque ContainerBuilder lors de l’appel à .end() — aucun code supplémentaire requis dans vos commandes.

theme: {
  embedV2: {
    footer: {
      text: "My Bot • v1.0"
    }
  }
}

Exemple complet

// glyria.config.ts
export default defineGlyriaConfig({
  dev: {
    autoImportDirs: ['utils', 'composables', 'helpers'],
    restartPaths: ['composables', 'utils', 'services']
  },
  theme: {
    embedV2: {
      primaryColor: "#7289DA",
      secondaryColor: "#747F8D",
      successColor: "#43B581",
      errorColor: "#F04747",
      warningColor: "#FAA61A",
      infoColor: "#00B0F4",
      footer: {
        text: "My Bot • v1.0"
      }
    }
  }
})
Copyright © 2026