如何从Discord机器人的API发送图像?

时间:2020-05-25 14:39:31

标签: discord discord.js

对于上下文,此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而不是本地文件路径发送图像?

2 个答案:

答案 0 :(得分:1)

在不使用fileshttp://的情况下将链接传递到https://将使其假定它是文件路径,而不是URL,这就是为什么它“找不到文件”。 / p>

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

答案 1 :(得分:0)

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.");
});

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