代码之家  ›  专栏  ›  技术社区  ›  andycrt

TypeError:路径。join不是函数(在我的handleEvents.js文件中得到错误)

  •  0
  • andycrt  · 技术社区  · 2 年前

    我试图制造一个不和谐的机器人,我在handleEvents中遇到了这个错误。js文件

    代码:

    const { Client, Intents } = require('discord.js');
    const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
    
    module.exports = (client) => {
        client.handleEvents = async (eventFiles, path) => {
            for (const file of eventFiles) {
                const filePath = path.join(`${path}/${file}`);
                const event = require(`../events/${file}`);
                if (event.once) {
                    client.once(event.name, (...args) => event.execute(...args, client));
                } else {
                    client.on(event.name, (...args) => event.execute(...args, client));
                }
            }
    }
    }
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   marekvospel    2 年前

    您缺少一个 path 模块导入

    const path = require('path');
    

    通过使用名称 路径 作为回调的属性,您将覆盖 路径 单元

    const { Client, Intents } = require('discord.js');
    const path = require('path');
    const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
    
    module.exports = (client) => {
        client.handleEvents = async (eventFiles, pathString) => {
            for (const file of eventFiles) {
                const filePath = path.join(`${pathString}/${file}`);
                const event = require(`../events/${file}`);
                if (event.once) {
                    client.once(event.name, (...args) => event.execute(...args, client));
                } else {
                    client.on(event.name, (...args) => event.execute(...args, client));
                }
            }
        }
    }