javascript - 随机 Meme 命令 (discord.js v13)

标签 javascript discord discord.js

我正在尝试创建随机模因命令,从 r/reddit 发送模因,但出现错误

const { MessageEmbed } = require("discord.js");
const fetch = require("node-fetch");

module.exports = {
  name: "meme",
  description: "This command sends you random memes",
  category: "fun",
  example: ["x!meme"],
  callback: async ({ message }) => {
    try {
      const url = await fetch("https://www.reddit.com/r/memes/random/.json");
      const random = await url.json();

      const embed = new MessageEmbed()
        .setTitle(`Random Meme | ${random[0].data.children.data.title}`)
        .setImage(random[0].data.children.data.url)
        .setColor("#FF00A6");
        .setFooter("Prefix x! | Random Meme Generator")

      await message.channel.send({ embeds: [embed] });
    } catch (err) {
      console.log(err);
    }
  },
};

我不知道为什么,但我收到此错误

在旧版本(discord.js v12)上它工作正常

TypeError: Cannot read properties of undefined (reading 'title')

最佳答案

访问链接后,random[0].data.children 似乎是一个数组。从中获取第一个元素:

.setTitle(`Random Meme | ${random[0].data.children[0].data.title}`)

您需要对图像执行相同的操作:

.setImage(random[0].data.children[0].data.url)

关于javascript - 随机 Meme 命令 (discord.js v13),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70265679/

相关文章:

javascript - 如何更改Bootstrap-select的边框颜色

javascript - 如何在 Discord.js 嵌入中 ping 消息作者和用户

node.js - 如何设置虚拟麦克风并将音频从 node.js 传输到它

javascript - 如何使用PHP ajax在Modal Box中提交HTML表单数据?

javascript - ReactJS中点击按钮时如何动态显示html内容?

javascript - 如何提高 JavaScript 的效率?

javascript - 我该如何处理错误,忽略它并继续使用该功能?不和谐.js

python - 我的 Discord 机器人命令前缀不起作用

javascript - 如何在 Discord.js 中创建 "+mention"命令

javascript - 无法在 DiscordJS 中通过不同作用域传递变量