Discord.JS RichEmbed Building

时间:2018-01-06 19:46:29

标签: javascript node.js bots discord discord.js

其他开发人员!在过去的几个小时里,我一直在使用Discord.JS的嵌入技术。我一直在说:

  

TypeError:无法读取属性' client'未定义的       在新的MessageEmbed(文件夹\ node_modules \ discord.js \ src \ structures \ MessageEmbed.js:13:60)       在embed(文件夹\ rlxob.js:17:13)       在Client.client.on.message(文件夹\ rlxob.js:193:15)

根据我的理解,除此之外的其余部分并不重要,但here's a Gyazo image如果你想看到整个输出。 MessageEmbed.js第13行说Object.defineProperty(this, 'client', { value: message.client });这让我有些困惑。似乎期望message变量已经在class MessageEmbed {constructor (message, data) {中定义,但是我的代码与我检查过的每一个消息嵌入教程相匹配,经过仔细检查,并且会找出谁'顽皮或好看。而这一段......好吧,我说的不好听,所以我不会说出任何一个。为了向您提供可能有用的一些信息,node正在版本8.9.4上运行,Discord.JS正在版本11.2.1上运行。这真的让我紧张,没有一个明确的答案,我可以弄明白。谢谢你的帮助,伙计们!如果您需要任何新信息,我会在这里查看。如果我不回复,可能意味着我想出来了,但不太可能。

2 个答案:

答案 0 :(得分:0)

我知道你已经仔细检查过,但只是为了确保这是我的嵌入工作正常:

case "info":
  var embed = new Discord.RichEmbed()
    .addField("General-Commands", "::games, ::people")
    .addField("Other-Commands", "::example, ::gamble")
    .addField(
      "Music-Commands",
      "::play <playlisturl>/search, ::skip, ::pause/resume, ::stop, ::queue"
    );
  message.channel.sendEmbed(embed);
  break;

答案 1 :(得分:0)

您可能没有定义Client,所以这是您必须添加的内容:

const client = new Discord.Client({disableEveryone: true})

注意:{disableEveryone}是可选的。