【发布时间】:2019-01-04 04:01:12
【问题描述】:
查看 Discord.js 文档后,我可以找到问题的答案,有人知道该怎么做吗?页面上已有问题,但没有答案或 cmets。
想象有人在聊天中发送了一张图片,机器人有没有办法下载图片或获取图片的网址?
谢谢!
【问题讨论】:
标签: javascript discord discord.js
查看 Discord.js 文档后,我可以找到问题的答案,有人知道该怎么做吗?页面上已有问题,但没有答案或 cmets。
想象有人在聊天中发送了一张图片,机器人有没有办法下载图片或获取图片的网址?
谢谢!
【问题讨论】:
标签: javascript discord discord.js
对于初学者...您需要代码才能访问附件。
client.on(`message`,function(msg){
if(msg.attachments.first()){//checks if an attachment is sent
if(msg.attachments.first().filename === `png`){//Download only png (customize this)
download(msg.attachments.first().url);//Function I will show later
}
}
});
注意:我将附件限制为 png,以便我们下载经过验证的图像。否则我们可能会下载一些不良脚本和病毒。下载东西时要小心。
现在我刚刚给你的代码调用download并传入url。
现在您将需要request 模块AND fs 模块。
为什么?很高兴你问...request 模块访问 url 并从网络中提取数据。fs 模块在本地/外部机器上创建/读取/写入文件...
使用这两个模块,我们将拉取它,然后保存它。
现在让我们假设url 是这个meme.png(discord png 附件)
let request = require(`request`);
let fs = require(`fs`);
function download(url){
request.get(url)
.on('error', console.error)
.pipe(fs.createWriteStream('meme.png'));
}
和瞧!我们现在有一张关于 Doritos XD 的 meme.png 图片
【讨论】:
除了我在 cmets 部分发布的链接之外,从查看 Discord documentation 来看,url 似乎在 attachment 对象中。
【讨论】: