Structure du projet
Après avoir exécuté npx glyria init, votre projet ressemblera à ceci :
your-bot/
src/
commands/
events/
composables/
utils/
index.ts
.glyria/
imports.d.ts
.env
.gitignore
tsconfig.json
glyria.config.ts
package.json
src/
Le dossier principal contenant le code source de votre bot.
src/commands/
Toutes vos commandes slash se trouvent ici. glyria.js analyse récursivement ce dossier au démarrage et enregistre automatiquement chaque fichier.
src/commands/
ping.ts
moderation/
ban.ts
kick.ts
config/
logs.ts
.ts, peu importe sa profondeur, est chargé comme une commande.src/events/
Les listeners d’événements Discord. Chaque fichier gère un ou plusieurs événements discord.js.
src/composables/
La logique métier et les utilitaires avec état. Les fichiers placés ici sont automatiquement disponibles globalement grâce aux auto-imports — aucun import manuel nécessaire. La convention est de préfixer les fonctions avec use.
// src/composables/useModeration.ts
export const useModeration = () => {
// logique de ban, logique de kick, etc.
}
// src/commands/ban.ts — aucun import requis
const moderation = useModeration()
src/utils/
Fonctions pures sans dépendances ni effets de bord. Les fichiers placés ici sont également auto-importés globalement.
// src/utils/formatDate.ts
export const formatDate = (date: Date) => {
// ...
}
// src/commands/ping.ts — aucun import requis
const formatted = formatDate(new Date())
utils/ est destiné aux fonctions pures sans dépendances — formatage, parsing, calculs, etc. composables/ est destiné à la logique qui interagit avec la base de données, Discord ou d’autres services.src/index.ts
Le point d’entrée de votre bot. Minimaliste par conception :
const client = new GlyriaClient({
intents: [GatewayIntentBits.Guilds]
})
await client.login()
.glyria/
Généré automatiquement par glyria.js. Contient les fichiers de déclaration TypeScript pour les auto-imports.
glyria generate ou glyria dev. Toute modification manuelle sera écrasée..env
Variables d’environnement de votre bot. glyria.js charge automatiquement ce fichier au démarrage.
TOKEN=your_bot_token_here
glyria.config.ts
Configuration globale de votre bot — thème, paramètres par défaut des embeds, et plus encore.
export default defineGlyriaConfig({
modules: ["@glyria/timers"]
...
})
tsconfig.json
Préconfiguré par npx glyria init. Inclut le dossier .glyria/ pour la résolution des types liés aux auto-imports.

