Node.js 如何使Discord.js bot获取频道上的最后一个附件

Node.js 如何使Discord.js bot获取频道上的最后一个附件,node.js,discord,discord.js,Node.js,Discord,Discord.js,我正试图让我的Discord bot发送频道上的最后一个附件,但发送时遇到问题。 当我使用“m.attachments.first().url”时,它表示“未处理的承诺拒绝”,当我使用“m.attachments.first()”时,它表示“无法发送空消息” 编辑:我尝试了很多不同的方法,但唯一给我一些结果的是这个(结果是“未定义的”): 你和你的第二段代码非常接近!您只需在附件之后添加另一个.first() message.channel.messages.fetch().then(m

我正试图让我的Discord bot发送频道上的最后一个附件,但发送时遇到问题。
当我使用“m.attachments.first().url”时,它表示“未处理的承诺拒绝”,当我使用“m.attachments.first()”时,它表示“无法发送空消息”

编辑:我尝试了很多不同的方法,但唯一给我一些结果的是这个(结果是“未定义的”):


你和你的第二段代码非常接近!您只需在
附件之后添加另一个
.first()

    message.channel.messages.fetch().then(messages => {
        const att = messages.filter(m => m.attachments.size > 0);
        
        message.channel.send(att.first().attachments.first().url);
    });
在发送消息之前,您可能还需要确保
att
确实有一个值,否则会出现错误

if (message.content.toLowerCase() === 'test'){
message.channel.messages.fetch().then(messages => {
    const att = messages.filter(m => m.attachments.size > 0);
    message.channel.send(`${att.first().attachments.url}`)
})} 
    message.channel.messages.fetch().then(messages => {
        const att = messages.filter(m => m.attachments.size > 0);
        
        message.channel.send(att.first().attachments.first().url);
    });