我正在尝试让我的 Discord 机器人发送频道上的最后一个附件,但我在发送时遇到了问题。
当我使用“m.attachments.first().url”时,它会显示“未处理的承诺拒绝”,当我使用“m.attachments.first()”时,它会显示“无法发送空消息”。
if (message.content.toLowerCase() === 'test'){
message.channel.messages.fetch().then(messages => {
const firstAttachment = messages.filter((m) => m.attachments.first().url);
message.channel.send(firstAttachment);
})}
编辑:我尝试了很多不同的东西,但唯一给我一些结果的是这个(结果是“未定义”):
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}`)
})}
答案 0 :(得分:0)
您对第二段代码非常接近!您只需要在 .first()
之后添加另一个 attachments
。
message.channel.messages.fetch().then(messages => {
const att = messages.filter(m => m.attachments.size > 0);
message.channel.send(att.first().attachments.first().url);
});
您可能还希望在发送消息之前确保 att
确实具有值,否则您会收到错误消息。