首页 > 解决方案 > RichEmbed discord.js

问题描述

嘿对不起我的英语不好我是法国人

我正在尝试为我的 poll discord.js 机器人创建一个 RichEmbed 构造函数。我希望我的代码能够发送 RichEmbed,但是当我键入命令时,什么也没发生,我只收到以下错误消息:

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'client' of undefined

这是我的代码:

module.exports.run = async (bot, message, args) => {

  function extractAllText(str){
    const re = /"(.*?)"/g;
    const result = [];
    let current;
    while (current = re.exec(str)) {
      result.push(current.pop());
    }
    return result.length > 0
      ? result
      : [str];
  }

  result = extractAllText(message.content)

  //Here
  const embed = new Discord.MessageEmbed()
    .setColor('#0099ff')
    .setTitle(result[0])
    .setAuthor(message.author)
    .setDescription('Sondage')
    .setTimestamp()
    .setFooter('Vous pouvez voter en cliquant sur les réactions ci-dessous.');

  for (let i = 1; i < result.length; i++) {
    embed.addField(i, result[i])
  }

  message.channel.send(embed);

};

我试图用 RichEmbed() 替换 MessageEmbed(),但我收到另一个错误消息:

UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message

我也尝试使用嵌入对象,但我找不到在这种嵌入中使用 for 循环的方法。

在我的文件顶部,我尝试写:

const Discord = require('discord.js')
const client = new Discord.Client({disableEveryone: true})

但它仍然不起作用

感谢您阅读本文,祝您有美好的一天

标签: javascriptdiscord.js

解决方案


尝试在模块文件的顶部添加:

const Discord = require('discord.js')

或者,您可以尝试在您的app.js/index.js

commandFile.run(bot, message, args)

和 :

commandFile.run(Client, bot, message, args)

编辑 :

调整 :

let sEmbed = new Discord.MessageEmbed()

和 :

let sEmbed = new Discord.RichEmbed()

推荐阅读