【问题标题】:download file to local computer sent attatched to message discord下载文件到本地计算机发送附加到消息不和谐
【发布时间】:2019-01-04 04:01:12
【问题描述】:

查看 Discord.js 文档后,我可以找到问题的答案,有人知道该怎么做吗?页面上已有问题,但没有答案或 cmets。

想象有人在聊天中发送了一张图片,机器人有没有办法下载图片或获取图片的网址?

谢谢!

【问题讨论】:

标签: javascript discord discord.js


【解决方案1】:

对于初学者...您需要代码才能访问附件。

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 图片

【讨论】:

    【解决方案2】:

    除了我在 cmets 部分发布的链接之外,从查看 Discord documentation 来看,url 似乎在 attachment 对象中。

    【讨论】:

      猜你喜欢
      • 2020-05-25
      • 2019-07-03
      • 2022-11-02
      • 1970-01-01
      • 2020-10-25
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 1970-01-01
      相关资源
      最近更新 更多