为什么 Tenor GIF 会在嵌入中产生 Discord 便便图像?

Why do Tenor GIFs result in a Discord poop image in embeds?

代码介绍

我正在执行命令,如果您键入 p!shrug,它会从 Tenor 发送一个随机的耸肩 GIF。我的代码使用 Tenor API 和 node-fetch

问题

机器人按要求发送嵌入,但嵌入中的图像是 Discord Poop 图像

我的代码

const Discord = require('discord.js');
const fetch = require('node-fetch');

module.exports = {
    name: 'shrug',
    description: 'Shruggy Shruggy',
    async execute(client, message, args){

        const url = `https://api.tenor.com/v1/search?q=anime_shrug&key=${process.env.tenorkey}&limit=24`

        const res = await fetch(url);
        const result = await res.json();

        const gif = Math.floor(Math.random() * result.results.length);

        const newGIF = new Discord.MessageEmbed()
        .setAuthor(`${message.author.username} shrugs~`, message.author.displayAvatarURL())
        .setImage(result.results[gif].url)
        .setColor('RANDOM')

        message.channel.send(newGIF)
        .then(console.log(result.results[gif].url))

    }
}

更多信息

当我从嵌入中复制​​ link 的 GIF 并粘贴它时,GIF 工作正常。

回答

好的,基本上我只做了一个小改动就修复了它

  • result.results[gif].url returns Tenor GIF link 不能用作嵌入的图像。

我所做的更改是:-

  • result.results[gif].urlresult.results[gif].media[0].url 其中 returns 可以在嵌入中使用的媒体 link。

我将不胜感激,但这确实解决了我的问题。