Discord bot无法从附件加载数据

时间:2018-07-07 08:38:10

标签: javascript json discord.js

我想从消息中加载数据。 我看了一下互联网,发现:

if (message.attachments) {

       let attachment = message.attachments.first;
                    download(attachment.url);
                                
                    var myData = fs.readFileSync(attachment.filename);
                    data = JSON.parse(myData);

        }

但是download()不存在。 我没有找到其他方法可以做到这一点。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

我不知道您在哪里找到了这段代码,但是可能有点过时了。

您可以将MessageAttachment.attachmentfs.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);
            });
        });
    };