Неопределенный модуль, когда команды сгруппированы

1

Таким образом, я делаю битву-сподвижку и решил сгруппировать мои команды в отдельных файлах, например 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');
}

Я проверил, что у меня установлены модули узлов.

Мой вопрос: что я делаю неправильно, почему он это делает и что мне делать, чтобы исправить это?

  • 0
    Вы должны импортировать / требовать его для каждого файла, который вы получили.
Теги:
discord.js

1 ответ

0
Лучший ответ

Вы должны потребовать его в каждом файле, который у вас есть, если он не будет доступен для вас. Вы также можете экспортировать его, но вам все равно нужно импортировать основной файл и использовать его оттуда.

  • 1
    Да, спасибо, что помог. Я также заметил, что вы должны сделать то же самое с функциями. Большое спасибо за помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню