记录来自频道的所有消息
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。组合 await
和 then
也不是好的做法。选择一个可能是个好主意。
我正在尝试从频道获取所有消息,然后记录这些消息的内容,有没有办法做到这一点?
我已经试过了,但没用:
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。组合 await
和 then
也不是好的做法。选择一个可能是个好主意。