【问题标题】:Why do Tenor GIFs result in a Discord poop image in embeds?为什么 Tenor GIF 会在嵌入中产生 Discord 便便图像?
【发布时间】:2021-08-23 14:27:45
【问题描述】:

代码介绍

我正在创建一个命令,如果您输入 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))

    }
}

更多信息

当我从嵌入中复制​​ GIF 的链接并粘贴它时,GIF 可以工作,它会加载。

【问题讨论】:

    标签: node.js discord.js node-fetch


    【解决方案1】:

    回答

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

    • result.results[gif].url 返回不能用作嵌入中的图像的 Tenor GIF 链接。

    而我所做的改变是:-

    • result.results[gif].url 到 result.results[gif].media[0].url,返回可用于嵌入的媒体链接。

    感谢您的进一步帮助,但这确实解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2020-08-02
      • 2015-01-26
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      • 2017-02-09
      相关资源
      最近更新 更多