Guide

Events

Écoutez les événements Discord avec GlyriaEvent.

Vue d'ensemble

Les events dans glyria.js sont basés sur les fichiers, tout comme les commandes. Chaque fichier dans src/events/ est automatiquement chargé au démarrage.

Chaque fichier d'event exporte une instance GlyriaEvent par défaut :

// src/events/ready.ts
export default new GlyriaEvent()
  .setEvent(Events.ClientReady)
  .once()
  .setHandler((client) => {
    console.log(`✅ Connecté en tant que ${client.user.tag}`)
  })
GlyriaEvent et Events sont disponibles globalement — aucun import nécessaire.

Écouter une seule fois

Utilisez .once() pour n'écouter un événement qu'à sa première émission — utile pour l'événement ClientReady :

export default new GlyriaEvent()
  .setEvent(Events.ClientReady)
  .once()
  .setHandler((client) => {
    console.log(`${client.user.tag} est en ligne`)
  })

Sans .once(), le handler se déclenche à chaque fois que l'événement est émis.

Événements de messages

// src/events/messageCreate.ts
export default new GlyriaEvent()
  .setEvent(Events.MessageCreate)
  .setHandler(async (message) => {
    if (message.author.bot) return

    if (message.content.startsWith("!ping")) {
      await message.reply("Pong!")
    }
  })

Événements disponibles

GlyriaEvent accepte n'importe quel événement de l'enum Events de discord.js. Les plus courants :

ÉvénementDescription
Events.ClientReadyLe bot est en ligne et prêt
Events.MessageCreateUn message est envoyé
Events.GuildMemberAddUn membre rejoint un serveur
Events.GuildMemberRemoveUn membre quitte un serveur
Events.GuildBanAddUn membre est banni
Events.InteractionCreateUne interaction est reçue

Pour la liste complète, consultez la documentation discord.js Events.

Organisation des fichiers

Comme pour les commandes, les sous-dossiers dans src/events/ servent uniquement à l'organisation :

src/events/
  ready.ts
  guild/
    memberAdd.ts
    memberRemove.ts
  messages/
    messageCreate.ts
Gardez un seul GlyriaEvent par fichier pour plus de clarté et de maintenabilité.
Copyright © 2026