繁体   English   中英

随机 Meme 命令 (discord.js v13)

[英]Random Meme Command (discord.js v13)

我正在尝试制作从 r/reddit 发送 meme 的随机 meme 命令,但我有一个错误

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM