【问题标题】:DiscordJS - get all DM ChannelsDiscordJS - 获取所有 DM 频道
【发布时间】:2020-11-26 14:14:38
【问题描述】:

我想检索机器人发送的所有 dm 频道和这些频道中的所有消息。

这应该检索机器人可以访问的所有频道。但它似乎只检索公会频道。

client.channels.cache.entries()

Discord Docs 说我必须明确获取 DM,但我不知道该怎么做...

.channels 客户端当前正在处理的所有频道,由他们的 ID 映射 - 只要不使用分片,这将是机器人所属的每个公会中的每个频道。请注意,DM 频道最初不会被缓存,因此如果没有其显式获取或使用,则不会出现在 Manager 中。

类型:频道管理器

【问题讨论】:

  • 试试这个client.channels.cache.filter(ch => ch.type == "dm")

标签: javascript node.js discord discord.js


【解决方案1】:

这是不可能的,因为 dm 永远不会在 api 的有效负载中。

要获取 dm 的消息,您需要知道对 bot 开放 dm 的用户 ID。 从那时起,您可以从 User 对象打开一个 dm,然后获取所有消息。

之后通道缓存将包含机器人在线会话的 dm。

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 2015-09-02
    • 2021-11-27
    • 2016-05-13
    • 2021-03-14
    • 1970-01-01
    相关资源
    最近更新 更多