初始化错误之前无法访问“人”

时间:2020-06-21 02:00:14

标签: javascript node.js discord discord.js

我收到“初始化前无法访问'person'”错误。除了此文件,我在其他任何地方都没有const person。我是JS新手,所以不确定自己在做什么错。

编辑:我修复了该错误,但是现在我收到了另一条错误消息。 “ UnhandledPromiseRejectionWarning:ReferenceError:未定义getMember”。

const Discord = require('discord.js');

module.exports.run = async (bot, message, args) => {
const love = Math.random() * 100;
const loveIndex = Math.floor(love / 10);
const loveLevel = "?".repeat(loveIndex) + "?".repeat(10 - loveIndex);

const embed = new Discord.MessageEmbed()
    .setColor("#ffb6c1")
    .addField(`☁ **${person.displayName}** loves **${message.member.displayName}** this much:`,
    `? ${Math.floor(love)}%\n\n${loveLevel}`);

    let person = getMember(message, args[0]);

 if (!person || message.author.id === person.id) {
    person = message.guild.members
        .filter(m => m.id !== message.author.id)
        .random();

message.channel.send(embed);

}}

module.exports.config = {
name: "love",
description: "Calculates the love affinity you have for another person.",
usage: "[mention | id | username]",
accessableby: "Members",
aliases: ["affinity"]
}

2 个答案:

答案 0 :(得分:0)

在这一行:

    .addField(`☁ **${person.displayName}** loves **${message.member.displayName}** this much:`,

person未定义。

尝试将初始化person的块移到const embed = ...语句上方。

答案 1 :(得分:0)

该错误通常是由于在初始化类本身的代码之前尝试对类进行引用而引起的。尝试在类定义后声明人员。