[英]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.