【问题标题】:how to pull message data from discord.js?如何从 discord.js 中提取消息数据?
【发布时间】:2016-12-13 15:51:16
【问题描述】:

Discord.js 是 Discord 的 API,允许开发人员为程序 discord 制作插件。这是 js 中的 API 代码的链接,https://github.com/hydrabolt/discord.js/

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

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

【问题讨论】:

    标签: javascript json node.js caching discord.js


    【解决方案1】:

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

    如果您想从频道中提取所有消息对象,我建议您忽略缓存,而是使用 getChannelLogs(channel, limit, options, callback) 这将允许您一次获取多达 100 条消息,但这些消息不必缓存在 discord 中.js。您可以很容易地创建一个递归函数,在回调中获取更多消息以获取尽可能多的消息。

    也就是说 server.channel.messages 将是 discord.js 缓存的所有消息。如果它看起来是空的,那么自机器人被激活以来没有人发送消息。

    来源:http://discordjs.readthedocs.io/en/latest/docs_client.html#getchannellogs-channel-limit-options-callback

    【讨论】:

    • 现在已更改为.fetchMessages()
    • @OllyBritton 提出这个问题的人使用的是 discord.js v8 或更低版本。假设他们没有迁移,这仍然是他们的正确答案。我已经编辑了我的问题以明确区分,如果您想为使用图书馆新分支的用户留下答案,作为不同的答案可能会更好。
    • 天哪,v8 xD Dayum 很高兴看到我们已经走了多远
    猜你喜欢
    • 1970-01-01
    • 2021-12-13
    • 2020-11-05
    • 2021-05-12
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 2021-11-07
    • 2021-09-14
    相关资源
    最近更新 更多