我想从消息中加载数据。 我看了一下互联网,发现:
if (message.attachments) {
let attachment = message.attachments.first;
download(attachment.url);
var myData = fs.readFileSync(attachment.filename);
data = JSON.parse(myData);
}
但是download()不存在。 我没有找到其他方法可以做到这一点。
我该怎么办?
答案 0 :(得分:0)
我不知道您在哪里找到了这段代码,但是可能有点过时了。
您可以将MessageAttachment.attachment
与fs.readFile()
或fs.readFileSync()
组合使用
您可以尝试编写如下内容:
if (message.attachments) {
let file = message.attachments.first(); //this is the attchment you choose to use
let data = fs.readFileSync(file.attachment); //this reads the attachment & returns the data
//then you can parse it or use it however you want
}
让我知道是否有任何问题或者您还有其他疑问
答案 1 :(得分:0)
我想可能是这样,例如将网址https://example.com/image.png
下载到image.png
:
const path = require("path");
const https = require("https");
let download = function(url) {
let filename = path.basename(url);
let file = fs.createWriteStream(filename);
let request = https.get(url, function(response) {
response.pipe(file);
file.on('finish', function() {
file.close();
});
file.on('error', function(err) {
fs.unlink(filename);
console.error(err);
});
});
};