#javascript #discord.js
#javascript #discord.js
Вопрос:
const commandBase = require("./commands/command-base.js");
const readCommands = dir => {
const files = fs.readdirSync(path.join(__dirname, dir))
for (const file of files) {
const option = require(path.join(__dirname, dir, file))
commandBase(client, option);
console.log("Passed.");
}
}
В основном, пытаюсь создать своего собственного бота discord на JavaScript, используя Discord.js
, конечно. Но есть проблема. Он продолжает говорить, что CommandBase не является функцией, когда это так. Это даже часть command-base.js:
module.export = function(client, commandOptions) {
let {
commands,
expectedArgs = '',
permissionError = "You do not have permission to use or run that command.",
minArgs = 0,
maxArgs = null,
permissions = [],
callback
} = commandOptions;
if (typeof commands === 'string') {
commands = [commands];
}
Я также попытался удалить функцию и просто использовать => , ничего не сработало. У кого-нибудь есть идеи, почему это происходит? Он просто выдает ошибку, в которой говорится, что это не функция.
Комментарии:
1. Какой тип
commandBase
и чтоconsole.log
выводит?2. Это опечатка.
module.export
должно бытьmodule.exports
Ответ №1:
Вы пробовали это?
// command-base.js
export default function () {...}
// other js
import commandBase from "./commands/command-base.js"
Комментарии:
1. Я не думаю, что предлагать ESM — хорошая идея в этом случае. Вероятно, используемый набор инструментов его не поддерживает.
2. Он говорит »
Cannot use import statement outside a module
«.3. @KazumaKiryu пока придерживайтесь require. Просто убедитесь, что вы исправили орфографическую ошибку.