繁体   English   中英

错误:找不到模块 './commands/${f}1'

[英]Error: Cannot find module './commands/${f}1'

我一直试图让我的机器人上线几个小时,但我一直收到同样的错误。

这是错误:

Error: Cannot find module './commands/${f}1'
Require stack:
- C:\Users\Apskaita\Desktop\Viper bot\main.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at C:\Users\Apskaita\Desktop\Viper bot\main.js:20:22
    at Array.forEach (<anonymous>)
    at C:\Users\Apskaita\Desktop\Viper bot\main.js:19:12
    at FSReqCallback.oncomplete (fs.js:156:23) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'C:\\Users\\Apskaita\\Desktop\\Viper bot\\main.js' ]
}

这是我的 main.js 代码:

const Discord = require('discord.js');
const client = new Discord.Client();
const botconfig = require('./botconfig.json');
const fs = require("fs");

client.commands = new Discord.Collection();
client.alieses = new Discord.Collection();

// READ COMMANDS FOLDER
fs.readdir("./commands/", (err, files) => {
    if(err) console.log(err);

    let jsfile = files.filter(f => f.split(".").pop() === "js")
    if(jsfile.length <= 0) {
        console.log("couldin't file any commands!");
        return;
    }

    jsfile.forEach((f) => {
        let preops = require("./commands/${f}1")
        console.log('${f} loaded!');
        bot.commands.set(props.help.name, props);
        props.help.aliases.forEach(alias => {
            bot.aliases.set(alias, props.help.name);
        })
    })
})

// BOT ONLINE MESSAGE AND ACTIVITY MESSAGE
client.on('ready', async () => {
    console.log('${bot.user.username} is online on ${bot.guilds.size} servers!')
    bot.user.setActivity('with ${bot.guilds.size} servers!');
})

client.on('message', async message => {

    // CHECK CHANNEL TYPE
    if(message.channel.type === "dm") return;
    if(message.author.bot) return;

    // SET PREFIX
    let prefix = botconfig.prefix;

    // CHECK PREFIX, DEFINE ARGS & COMMAND
    if(message.content.startsWith(prefix)) return;
    let args = message.content.slice(prefix.length).trim().split(/ +/g);
    let cmd;
    cmd = args.shift().toLowerCase();
    let command;
    let commandfile = bot.commands.get(cmd.slice(prefix.length));
    if(commandfile) commandfile.run(bot, message, args);

    //RUN COMMANDS
    if(bot.commands.has(cmd)) {
        command = bot.commands.get(cmd);
    } else if (bot.aliases.has(cmd)) {
        command = bot.commands.get(bot.aliases.get(cmd));
    }
    try {
        command.run(bot, message, args);
    } catch (e) {
        return;
    }

client.login(botconfig.token)})

我的 ping.js:

module.exports.run = async (bot, message, args) => {
    const m = await message.channel.send("ping!");
    m.edit("Pong! ${m.createTimestamp - message.createdTimestamp}ms");
 
}

module.exports.help = {
    name: "",
    aliases: ["p"]
}

这些错误非常令人困惑,我真的不知道如何修复它们,所以请有人修复它们吗?

我对 JavaScript 很陌生,所以我不知道我在输入什么……我从教程中复制了代码,所以我不知道发生了什么。

您没有使用正确的引号,您使用的是"而不是`

代替

jsfile.forEach((f) => {
    let preops = require("./commands/${f}1")
    console.log('${f} loaded!');
    bot.commands.set(props.help.name, props);
    props.help.aliases.forEach(alias => {
        bot.aliases.set(alias, props.help.name);
    })
})

经过

jsfile.forEach((f) => {
    let preops = require(`./commands/${f}1`)
    console.log(`${f} loaded!`);
    bot.commands.set(props.help.name, props);
    props.help.aliases.forEach(alias => {
        bot.aliases.set(alias, props.help.name);
    })
})

这意味着路径不正确。 首先,一定要使用之前有人说的好的引号。 那么,您确定文件名的末尾有1吗? 这就是您所要求的${f}1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM