记录来自频道的所有消息

时间:2019-02-24 21:51:46

标签: javascript discord discord.js

我正试图从一个通道中获取所有消息,然后从这些消息中记录内容,有没有办法做到这一点?

我已经尝试过了,但是不起作用:

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

这是我得到的结果:
Undefined
[${message.author.name}]
 它甚至不返回任何内容,因为您无法从undefined中读取任何内容。

1 个答案:

答案 0 :(得分:1)

fetchMessages将始终返回集合,即使您使用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也不是一个好习惯。选择一个可能是个好主意。