defineGlyriaConfig
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).
| Option | Type | Défaut | Description |
|---|---|---|---|
restartPaths | string[] | ['composables', 'utils', 'services'] | Dossiers déclenchant un redémarrage complet du bot |
autoImportDirs | string[] | ['utils', 'composables'] | Dossiers analysés pour les auto-imports globaux |
Par défaut, Glyria surveille votre dossier src/ et applique le comportement suivant :
| Dossier | Comportement |
|---|---|
commands/ | Hot reload — commandes réenregistrées instantanément |
events/ | Hot reload — listeners retirés puis réajoutés instantanément |
restartPaths | Redémarrage complet du bot |
| Autres fichiers | Ignoré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.
| Option | Type | Défaut | Description |
|---|---|---|---|
primaryColor | HexColorString | #5865F2 | Couleur principale |
secondaryColor | HexColorString | #4F545C | Couleur secondaire |
successColor | HexColorString | #57F287 | Couleur de succès |
errorColor | HexColorString | #ED4245 | Couleur d’erreur |
infoColor | HexColorString | #5DADE2 | Couleur d’information |
warningColor | HexColorString | #FEE75C | Couleur d’avertissement |
footer.text | string | — | Texte 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
Footer
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"
}
}
}
})

