簡體   English   中英

TypeError:無法讀取未定義的屬性(讀取“設置”)Discord.js

[英]TypeError: Cannot read properties of undefined (reading 'set') Discord.js

我正在制作 Discord 機器人,但出現錯誤,我找不到解決方案。 我希望有人能找到它:這是代碼:

事件處理程序

async function loadEvents(client) {
  const { loadFiles } = require("../Functions/fileLoader");
  const ascii = require("ascii-table");
  const table = new ascii().setHeading("Event", "Status");

  await client.events.clear();

  const Files = await loadFiles("Events");

  Files.forEach((file) => {
    const event = require(file);

    const execute = (...args) => event.execute(...args, client);
    client.event.set(event.name, execute);

    if (event.rest) {
      if (event.once) client.rest.once(event.name, execute);
      else client.rest.on(event.name, execute);
    } else {
      if (event.once) client.once(event.name, execute);
      else client.on(event.name, execute);
    }

    table.addRow(event.name, "🟩");
  });

  return console.log(table.toString(), "\nLoaded Events.");
}

module.exports = { loadEvents };

文件加載器

const { glob } = require("glob");
const { promisify } = require("util");
const proGlob = promisify(glob);

async function loadFiles(dirName) {
  const Files = await proGlob(
    `${process.cwd().replace(/\\/g, "/")}/${dirName}/**/*.js`
  );
  Files.forEach((file) => delete require.cache[require.resolve(file)]);
  return Files;
}

module.exports = { loadFiles };

任何人都可以找到錯誤嗎?

這是錯誤

文檔中的快速搜索顯示, client.event不是有效屬性,因此您嘗試在未定義的內容上調用set function (在您的情況下為client.event

但是你想用這條線實現什么?

client.event.set(event.name, execute);

在此處輸入圖像描述

https://discord.js.org/#/docs/main/stable/class/Client

錯字問題。 你的常數是 client:events: await client.events.clear()

但是您為 client.event 設置: client.event.set(event.name, execute);

您必須使用 client.event 或 client.events 並且必須在 index.js 中聲明client.event(s) = new Collection();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM