对于上下文,此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而不是本地文件路径发送图像?
答案 0 :(得分:1)
在不使用files
或http://
的情况下将链接传递到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.");
});
使用此代码,错误将被清楚记录。