J'essaie d'installer Discord.JS en exécutant npm install discord.js
et il semble que cela fonctionne, mais ce n'est pas le cas.
J'obtiens cette erreur lors de l'exécution de index.js
, mais il donne une erreur indiquant que discord.js
est introuvable. Alors, j'essaye de l'installer à nouveau:
PS G:\My Drive\coding\node.js\bot> node . internal/modules/cjs/loader.js:796 throw err; ^ Error: Cannot find module './commands' Require stack: - G:\My Drive\coding\node.js\bot\index.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17) at Function.Module._load (internal/modules/cjs/loader.js:686:27) at Module.require (internal/modules/cjs/loader.js:848:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (G:\My Drive\coding\node.js\bot\index.js:3:21) at Module._compile (internal/modules/cjs/loader.js:955:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10) at Module.load (internal/modules/cjs/loader.js:811:32) at Function.Module._load (internal/modules/cjs/loader.js:723:14) at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10) { code: 'MODULE_NOT_FOUND', requireStack: [ 'G:\\My Drive\\coding\\node.js\\bot\\index.js' ] }
Ensuite, j'exécute le fichier index.js
:
const Discord = require('discord.js'); const bot = new Discord.Client(); const botCommands = require('./commands'); const { prefix, token } = require('./cfg.json'); bot.login(TOKEN); bot.on('ready', () => { console.info(`Logged in as ${bot.user.tag}!`); });
4 Réponses :
Si vous ne trouvez pas le dossier / commands, êtes-vous sûr qu'il s'y trouve? - assurez-vous qu'il se trouve dans le dossier 'G: \ My Drive \ coding \ node.js \ bot \'
Faites-moi savoir si vous avez du succès
Ce n'est pas le dossier de commandes qu'il recherche. Lorsqu'il requiert un fichier sans extension, le nœud y ajoute automatiquement .js
, de sorte qu'il recherche en fait commands.js
.
Je n'ai pas écrit le code. Je dis simplement ce que fait le code qu'il a écrit.
bien en fait lol, tout d'abord merci. mais le problème est résolu depuis longtemps. quel est en fait le problème est que je pensais qu'il avait un problème d'accès à discord.js. et maintenant c'est l'affaire close. le problème suivant, je l'ai également résolu. c'est juste fs.readdirSync ('./ commands'). filter (file => file.endsWith ('. js'));
Et, ça fonctionne très bien. Toute cette question est close. c'est juste moi qui suis stupide de poser cette question.
L'erreur est dans votre 3ème ligne ou avez besoin des commandes
Si vous avez un dossier de commandes, faites ceci
fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
D'accord. Tout d'abord, il indique que le module "./commands" est introuvable, discord.js existe.
La raison en est que vous essayez d'importer un dossier. Node.js ne fonctionne pas de cette façon.
Vous devez supprimer la ligne avec le require ("./ commands") et la remplacer par quelque chose comme ceci:
var botCommands = fs.readdirSync('./commands/');
Je pense que vous voulez quelque chose comme
exports.run = async (bot, message, args) => { //code }
Mais si vous utilisez ceci, vous en avez besoin dans votre fichier de commandes:
bot.on('message', message => { if(message.content.startsWith(prefix)) { let rawA = message.content.slice(prefix.length).split(' '); let cmd = rawA[0]; let rawB = rawA.join(' '); let args = rawB.slice(cmd.length).split(' '); let cmdFile = require(`./commands/${cmd}.js`); cmdFile.run(bot, message, args); } }
p>
Erreur: impossible de trouver le module './commands'
ouais mon mal. vraiment désolé.
Je pense que la première fois que discord.js n'a pas réussi à s'installer et que j'ai exécuté le fichier plusieurs fois, il a des résultats différents et je ne l'ai pas remarqué. Affaire classée. Merci.