记录来自频道的所有消息

Log all messages from a channel

我正在尝试从频道获取所有消息,然后记录这些消息的内容,有没有办法做到这一点?

我已经试过了,但没用:

const fetched = await client.channels.get("505989241600213012")
.fetchMessages({limit: 1})
.then(message => console.log(`[${message.author.name}]${message.content}`));

这是我得到的结果:
Undefined,
[${message.author.name}]
它甚至 return 什么都没有,因为你无法从 undefined.

中读取任何内容

fetchMessages将始终 return 一个集合,即使您使用 limit: 1。所以,如果你想访问集合的第一个元素,你需要

const fetched = await client.channels.get("505989241600213012")
.fetchMessages({limit: 1})
.then(messages => console.log(`[${messages.first().author.name}]${messages.first().content}`));

如果您打算在 Discord 之外保存消息,您可能需要考虑使用 cleanContent。组合 awaitthen 也不是好的做法。选择一个可能是个好主意。