Bien démarrer

Structure du projet

Vue d’ensemble de la structure de dossiers générée par glyria.js.

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
Les sous-dossiers servent uniquement à l’organisation — chaque fichier .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.

Ce dossier est régénéré à chaque exécution de 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.

Copyright © 2026