Таким образом, я делаю битву-сподвижку и решил сгруппировать мои команды в отдельных файлах, например help.js - одна команда, а ping.js - другая. Хотя теперь проблема в том, что команда не может найти модуль, и поэтому код дает мне ошибку, например:
UnhandledPromiseRejectionWarning: ReferenceError: ms is not defined
Несмотря на то, что я определил его в верхней части индексного файла. (ms - это модуль, который мне нужен в моей команде mute для преобразования времени)
const ms = require("ms");
Я использую это для получения команд:
try {
if (fs.existsSync('./commands/${command}.js')) {
let commandFile = require('./commands/${command}.js');
commandFile.run(client, message, args);
} else {
message.reply('+${command} does not exist')
}
И вот команда ping:
exports.run = async (client, message, args, level) => {
const m = await message.channel.send("Ping?");
m.edit('Pong! Latency is ${m.createdTimestamp -message.createdTimestamp}ms. API Latency is ${Math.round(client.ping)}ms');
}
Я проверил, что у меня установлены модули узлов.
Мой вопрос: что я делаю неправильно, почему он это делает и что мне делать, чтобы исправить это?
Вы должны потребовать его в каждом файле, который у вас есть, если он не будет доступен для вас. Вы также можете экспортировать его, но вам все равно нужно импортировать основной файл и использовать его оттуда.