【问题标题】:How can I send an image from an API from a Discord bot?如何从 Discord 机器人的 API 发送图像?
【发布时间】:2020-09-12 05:28:20
【问题描述】:

就上下文而言,这个 Discord 机器人从 Hypixel API 获取玩家显示名称。然后它使用显示名称从 Plancke API 获取图像:gen.plancke.io/exp/${player.displayname}.png

我一直在寻找将这张图片发送到频道的方法,我找到了这种方法。

message.channel.send({files: [`gen.plancke.io/exp/${player.displayname}.png`]});

此方法适用于本地文件,但我正在尝试从 API 发送图像,在本例中为 gen.plancke.io/exp/${player.displayname}.png。当我运行我的代码时,它给了我一个错误,说它找不到文件。如何从 API 而不是本地文件路径发送图像?

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:
    message.channel.send({ file: `http://gen.plancke.io/exp/${player.displayname}.png` });
    

    这应该对你公平。此外,如果在“API”上找不到用户名,也会引发错误。

    message.channel.send({ file: `http://gen.plancke.io/exp/${player.displayname}.png` }).catch(e => {
      console.log("Invalid displayname provided.");
    });
    

    使用此代码,错误将被清楚地记录。

    【讨论】:

      【解决方案2】:

      在不使用http://https:// 的情况下传递指向files 的链接将使其假定它是文件路径,而不是URL,这就是它“找不到文件”的原因。

      message.channel.send({files: [`https://gen.plancke.io/exp/${player.displayname}.png`]});
      

      【讨论】:

      • 谢谢。我还有一个问题,有没有办法获取此图像并将其设置为嵌入缩略图?
      • 只使用嵌入构造函数.setThumbnail()方法中的URL
      • 我怎样才能在 python 中做到这一点?
      猜你喜欢
      • 2021-06-18
      • 2021-04-17
      • 1970-01-01
      • 2021-08-19
      • 2021-06-13
      • 2017-07-27
      • 2021-10-29
      • 2021-01-08
      • 2020-04-02
      相关资源
      最近更新 更多