Discord.js v13 通过 URL 发送文件附件

Arb*_*ich 5 url file attachment discord discord.js

Discord.js 发布了 v13,我正在尝试更新我的小自制 Discordbot。

我遇到了一个问题,无法再通过 Web URL 发送附件 (png)。

Discord.js v12

var testchart = `http://jegin.net/testchart2.php?sysid=268.png`;
message.channel.send("Last updated " + updatedAt.fromNow(), {
             files: [{
                attachment: testchart,
                name: 'file.png'
                }]
Run Code Online (Sandbox Code Playgroud)

控制台不会出现任何错误(折旧警告除外): 控制台没有出现错误

并且机器人不会返回图像:

没有图像

我试过了:

message.channel.send("Last updated " + updatedAt.fromNow(), {
             files: [testchart]
Run Code Online (Sandbox Code Playgroud)

message.channel.send("Last updated " + updatedAt.fromNow(), {
             files: Array.from(testchart)
        });
Run Code Online (Sandbox Code Playgroud)

最后

message.channel.send({
             files: [testchart],
             content: `Last updated ${updatedAt.fromNow()}`
        });
Run Code Online (Sandbox Code Playgroud)

这给了我这个可怕的输出: 在此输入图像描述

谢谢您的帮助!

Discord.js 的更新指南:https://discordjs.guide/additional-info/changes-in-v13.html#sending-messages-embeds-files-etc

我在此事上找到的唯一问题:Discord.js V13 moving message attachments

Arb*_*ich 4

发现问题,它与URL 的testchart2.php部分有关( http://jegin.net/testchart2.php?sysid=268.png

能够通过使用以下方式发送它:

message.channel.send({
    files: [{
        attachment: testchart,
        name: 'chart.png'
    }],
    content:`Last updated ${updatedAt.fromNow()}`,
});
Run Code Online (Sandbox Code Playgroud)

基本上,只需将 v12 的内容部分移动到它自己的区域即可。工作起来就像一个魅力。