Javascript 如何从discord.js中提取消息数据?

Javascript 如何从discord.js中提取消息数据?,javascript,json,node.js,caching,discord.js,Javascript,Json,Node.js,Caching,Discord.js,js是一个用于Discord的API,允许开发人员为程序Discord制作插件。这是js中API代码的链接 Discord被设置为一个服务器,您可以在其中连接频道并在频道上聊天,我的问题是如何从频道中提取消息数据 他们所做的是在一个JSON缓存中设置所有通道,在通道中,对象是另一个带有消息对象的缓存(如文档所示)。但是当我到达消息缓存时,我看到的只是messages:cache{limit:1000}。如何从通道中提取所有消息对象 适用于使用discord.js v8或更低版本的用户 如果要从通

js是一个用于Discord的API,允许开发人员为程序Discord制作插件。这是js中API代码的链接

Discord被设置为一个服务器,您可以在其中连接频道并在频道上聊天,我的问题是如何从频道中提取消息数据


他们所做的是在一个JSON缓存中设置所有通道,在通道中,对象是另一个带有消息对象的缓存(如文档所示)。但是当我到达消息缓存时,我看到的只是
messages:cache{limit:1000}
。如何从通道中提取所有消息对象

适用于使用discord.js v8或更低版本的用户

如果要从通道中提取所有消息对象,我建议忽略cach,而是使用
getChannelLogs(通道、限制、选项、回调)
,这将允许您一次最多提取100条消息,但这些消息不必缓存在discord.js中。您可以非常轻松地创建一个递归函数,该函数在回调上获取更多消息,以获取所需数量的消息

也就是说,server.channel.messages将是discord.js缓存的所有消息。如果显示为空,则自bot被激活后,可能没有人发送消息


来源:

现在改为@OllyBritton,问这个问题的人使用的是discord.js v8或更低版本。假设他们没有迁移,这仍然是正确的答案。我对我的问题进行了编辑,以明确区别,如果您想为使用该库较新分支的用户留下一个答案,作为不同的答案可能会更好。哦,天哪,v8 xD Dayum很高兴看到我们已经走了多远