【问题标题】:Embed message gif not working in discord.js嵌入消息 gif 在 discord.js 中不起作用
【发布时间】:2021-08-23 15:22:09
【问题描述】:

机器人发送嵌入消息(带有文本和 gif)。但是,gif根本不加载。一切似乎都适用于其他命令,但这个特定的命令不起作用。我真的不知道,请帮帮我。我的代码:

    const fetch = require('node-fetch');

module.exports = {
        name: 'hug',
        description: "hug command",
        async execute(message, args, Discord) {
            if (!message.mentions.users.first())
            return message.reply('***please mention someone.***');
        
        let keywords = 'anime hug';
        let url = `https://g.tenor.com/v1/search?q=${keywords}&key=${process.env.TENORKEY}&contentfilter=low`;
        let response = await fetch(url);
        let json = await response.json();
        const index = Math.floor(Math.random() * json.results.length);
        
              
                
        const embed = new Discord.MessageEmbed()
        .setColor('#FF8DC4')
        .setTitle(`*Aww how cute, ${message.author.username} gave ${message.mentions.users.first().username} a hug!*`,)
        
        .setImage(json.results[index].url)

    

        message.channel.send(embed + json.results[index].url)
        }
    }

这是邮件的图片:

【问题讨论】:

  • 尝试 console.log json.results[index].url。它是有效的网址吗?
  • 我已经修好了,我本来打算把.setImage(json.results[index].media[0].gif.url)

标签: javascript node.js discord discord.js


【解决方案1】:

错误

由于您使用 Tenor API 在嵌入中发送随机 GIF,直接链接不支持嵌入。如果您(console.log) GIF,它会显示 GIF 的直接 Tenor 链接。

解决方案

您需要获取media 链接,将.setImage(json.results[index].url 更改为.setImage(json.results[index].media[0].url 应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2021-06-26
    • 2021-07-18
    • 2021-09-04
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 2020-09-07
    • 2017-12-30
    • 2021-11-07
    相关资源
    最近更新 更多