LeChienFou Requis: discord.js, fs, le tuto de base Pour commencer Rendez vous sur votre terminal et installer fs npm i fs Aller sur l'explorateur de fichier, cliquer sur affichage et cocher extensions de noms de fichiers Ensuite aller sur votre explorateur de fichier et aller sur le dossier de votre bot Créer un fichier Events Aller dans ce fichier event et créer un fichier message.js ( on reviendre dessus plus tard ) Retourner sur votre fichier du bot et cette fois ci créer un fichier Commandes Aller dans ce fichier et créer un fichier pong.js ( on reviendre dessus plus tard ) Aller dans votre index.js et écrivez ceci: const fs = require("fs") // ce module est très utile, il permet de lire / écrire des fichiers client.commands = new Discord.Collection // si vous n'avez pas de variable sous le nom Discord créez en une avec const Discord = require("discord.js") fs.readdirSync("Commandes").forEach(file => { // il va lire le dossier Commandes pour ressortir les fichiers en array, puis on les prend un par un let command_name = file.split(".").shift() // on prend le nom du fichier comme le nom de la commande client.commands.set(command_name, require("./Commandes/"+file)) // le command loader se trouve ici, ça sera re utilisé dans le message.js console.log("La commande "+command_name+" a été chargée") }) Voila le command loader est fait ( le handler n'est pas finit ! ) Maintenant on fait le event loader: fs.readdirSync("Events").forEach(file => { // il va lire le dossier Events pour ressortir les fichiers en array, puis on les prend un par un let event_name = file.split(".").shift() // on prend le nom du fichier comme le nom de l'event client.on(event_name, require("./Events/"+file).bind(null, client)) // l'event loader se trouve ici console.log("L'event "+event_name+" a été chargée") }) Tout ce qui était à faire dans l'index.js est fait ! Il reste plus qu'à faire 2 choses N°1: Aller dans message.js et écrivez: module.exports = (client, message) => { if(message.content.startsWith(prefix)) { // si le message commence par le prefix if(message.author.bot) return; // si l'autheur du message est un bot ça empêche le code de fonctionner if(!message.guild) return; // si le message n'est pas envoyé dans une guild // maintenant on va faire un petit "handler" const prefix = "/" // mettez votre prefix ici, sans espaces / caractères spéciaux const messageArray = message.content.slice(prefix.length).trim().split(" ") // retire le prefix du message, enlève les espaces de trop, sépare le message tout les espaces et nous donne un array const args = messageArray.slice(1) // ceci sera la variable des argument, retire le nom de la commande de l'array const cmd = messageArray.shift().toLowerCase() // ceci sera la variable de la commande executer cmd = client.commands.get(cmd) if(cmd) cmd.run(client, message, args) // execute la commande si elle existe } } Voila votre command handler est maintenant finit, plus qu'à créer la commande N°2 Retourner dans pong.js et écrivez module.exports = { run: (client, message, args) => { message.channel.send("pong") } } Voila maintenant penser à tout enregistrer et lancer le bot, et test votre commande Vos handler sont maintenant finit 🙂
LeChienFou Pensez à retirer les code de l'ancien tuto ( seuleument le client.on("message") et messageDelete )