DiscordJS-获取所有DM频道

时间:2020-08-06 10:21:20

标签: javascript node.js discord discord.js

我想检索机器人已发送的所有dm通道以及这些通道中的所有消息。

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

client.channels.cache.entries()

Discord Docs说我必须明确地获取DM,但是我不确定该怎么做...

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

类型:ChannelManager

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为dm永远不在api的有效载荷之内。

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

此后,通道缓存将包含该漫游器处于在线状态的会话的dm。