【问题标题】:Discord.js ReferenceError: embed is not definedDiscord.js ReferenceError:嵌入未定义
【发布时间】:2020-11-15 14:15:29
【问题描述】:

我是编码新手,所以我决定制作一个从 Reddit 发送模因的不和谐机器人。但是每当我发送命令时,它都会给我错误并使机器人崩溃。我做错了什么,我该如何解决它

这是所有不和谐的机器人

const Discord = require('discord.js');
const client = new Discord.Client();
const randomPuppy = require('random-puppy');
const prefix = '%'

client.once('ready', () => {
    console.log('CounterOutplayer is READY!');
});

module.exports = {
    name: "meme",
    description: "Random image from a specific subreddit",
    async run (client, message, args){
        const subReddits = ["memes", "dankmemes"]
        const random = subReddits[Math.floor(Math.random() * subReddits.length)]

        const img = await randomPuppy(random);

        const embed = new Discord.MessageEmbed()
        .setColor("Green")
        .setImage(img)
        .setTitle(`memes - ${random}`)
        .setURL(`https://reddit.com/r/${random}`)

        message.channel.send(embed);
    }
}


client.login('token')

【问题讨论】:

  • 错误发生在哪一行?
  • 错误是什么? (使用屏幕截图编辑您的操作)

标签: node.js discord discord.js


【解决方案1】:

如果您只发送一个字符串,您可以使用message.channel.send('TEXT')。对于嵌入,属于.send() 函数的“选项”参数;因此,您必须将其作为对象发送。换句话说,使用message.channel.send({ embed: embed })。

【讨论】:

    【解决方案2】:

    我相信.setColor("Green") 正在使嵌入变得未定义。根据 discord.js 文档,颜色选项可以是数字、像 #00ff00 这样的十六进制代码、像 [0, 255, 0] 这样的 RGB 数组或颜色字符串。您的代码中有“绿色”,但文档列出了有效的颜色,并且它们都是大写字母。 .setColor("GREEN") 应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2021-05-06
      • 1970-01-01
      • 2020-09-19
      • 2021-06-03
      • 2020-09-08
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      相关资源
      最近更新 更多