为什么我的富图像嵌入不加载

时间:2018-03-28 20:16:19

标签: discord.js

我的代码:

client.on('message', message => {
  if (message.content.startsWith(prefix + "birb")) {
    const embed = new Discord.RichEmbed()
    .setColor(0x9370db)
    .setAuthor("ModularBot: Birb", "https://i.imgur.com/Y9HlaCp.png")
    .setImage("https://random.birb.pw/tweet/random")
    .setFooter("Powered by random.birb.pw")
    .setTimestamp()
    message.channel.send({embed})
  }
});

每当我这样做时,图像只显示为空白而没有任何内容

5 个答案:

答案 0 :(得分:1)

Discord要求您发送实际文件,而不仅仅是文件中的URL。因此,在setImage行中,您需要发送文件的直接链接,例如https://random.birb.pw/tweet/random/1.png,或者调用文件名。

答案 1 :(得分:0)

Discord似乎要求图像链接以图像文件扩展名作为后缀。我只是自己测试过.png,但是如果没有文件扩展名,Discord会认为该网址不正确,并会忽略该网址以节省计算时间和空间,因为它们的服务器会保留发送的每个图像的本地副本。 / p>

答案 2 :(得分:0)

就像先前的答复所说,Discord需要一个图像文件。您可以使用snekfetch或superagent从API提取图像,然后发送文件。

答案 3 :(得分:0)

刚发现一件事。即使您成功创建了一个REST API,当任何人ping API时都可以输出文件,这就是我所做的, Discord将不接受非DNS服务器提供的任何图像。因此,您可以从具有DNS名称(例如https://api.twitter.com/)的网站放置图像,但不能放置任何IP,而不是您自己或任何人的IP。

答案 4 :(得分:0)

我通过在所有图片网址中添加 www 解决了这个问题。

也许是我的服务器有问题? 我的应用是 React with next.js,托管在 Vercel。