GlyriaClient
Vue d'ensemble
GlyriaClient étend le Client de discord.js et y ajoute les fonctionnalités de glyria.js — chargement automatique des commandes et événements, support du hot reload, arrêt propre et bus d'événements intégré.
const client = new GlyriaClient({
intents: [GatewayIntentBits.Guilds]
})
await client.login()
Constructeur
new GlyriaClient(options: GlyriaClientOptions)
GlyriaClientOptions
| Option | Type | Requis | Description |
|---|---|---|---|
intents | BitFieldResolvable<GatewayIntentsString, number> | ✅ | Intents de la gateway Discord |
TOKEN de votre .env. Ne le passez jamais manuellement.Propriétés
| Propriété | Type | Description |
|---|---|---|
bus | GlyriaBus<GlyriaEvents> | Bus d'événements interne |
commandsManager | CommandManager | Gère le chargement et l'enregistrement des commandes |
eventsManager | EventManager | Gère le chargement et l'enregistrement des événements |
Méthodes
login()
await client.login()
Démarre le bot. En interne :
- Charge et enregistre tous les fichiers d'événements depuis
src/events/ - Se connecte à Discord
- Charge et enregistre tous les fichiers de commandes depuis
src/commands/ - Écoute les messages de hot reload en mode dev
Retourne une Promise<string> — le token utilisé pour la connexion.
Événements
Chaque événement discord.js est relayé sur client.bus, vous pouvez donc écouter n'importe quelle valeur Events.* via le bus — en passant par la couche de middlewares de Glyria plutôt que par l'émetteur brut de discord.js.
client.bus.on(Events.MessageCreate, (message) => {
// passe par les middlewares utilisateur et modules
})
client.bus.on(...) passe par les middlewares ; client.on(...) les contourne. Préférez client.bus sauf si vous avez spécifiquement besoin de l'émetteur brut.Bot prêt
Pour exécuter du code une fois le bot entièrement connecté et prêt, écoutez l'événement botReady sur le bus global :
globalBus.on("botReady", (client) => {
console.log(`Prêt en tant que ${client.user?.tag}`)
})
| Payload | Type | Description |
|---|---|---|
client | GlyriaClient | L'instance du client prêt |
globalBus est disponible globalement — aucun import nécessaire. Voir GlyriaBus › globalBus.Arrêt propre
GlyriaClient écoute automatiquement les signaux SIGINT et SIGTERM. À la réception de l'un ou l'autre, il :
- Détruit la connexion discord.js
- Met le bot hors ligne sur Discord
- Termine le processus proprement
Aucun code supplémentaire nécessaire.
Hot reload
En mode dev (glyria dev), GlyriaClient écoute les messages IPC du watcher CLI :
| Message | Action |
|---|---|
hotreload:commands | Recharge toutes les commandes sans redémarrage |
hotreload:events | Recharge tous les événements sans redémarrage |
hotreload:config | Recharge glyria.config.ts sans redémarrage |
Cela est géré automatiquement — aucune configuration nécessaire.
Héritage
GlyriaClient étend le Client de discord.js. Toutes les propriétés et méthodes de discord.js sont disponibles :
client.guilds.cache
client.users.fetch(userId)
client.channels.fetch(channelId)
// ...
Consultez la documentation discord.js pour l'API complète.

