首页 文章

从 Channels 获取一系列消息

提问于
浏览
0

我试图让用户在键入!done之前向机器人提交一堆信息,并让机器人在init消息和!done消息之间转发所有消息 . 换句话说,用户的消息日志可能如下所示:

!init
MessageA
MessageB
MessageC
!done

我想在!init和!done之间提取所有消息,假设我已将它们的ID存储在messageInitID和messageDoneID中 . 我不知道可能有多少消息 .

我尝试了.fetchMessages([options])但是[options]只允许在某个消息之前发送消息,在某个消息之后发送消息,并且在某个消息周围发送消息 .

有没有办法在 Channels 中按时间顺序接收所有消息?或者ID是否已按时间顺序设计?

编辑:我想我可以使用MessageCollector,并且只拉取日期晚于!init 's date and before !done' s日期的消息,但这似乎效率很低,因为它会检查DM中的每条消息

1 回答

  • 1

    或者ID是否已按时间顺序设计?

    ID的数据类型是"Snowflake",定义为 A Twitter snowflake, except the epoch is 2015-01-01T00:00:00.000Zdoc),所以是的,如果一个id大于另一个,则稍后发送 .

    我尝试过.fetchMessages([options]),但[options]只允许在某个消息之前发送消息,在某个消息之后发送消息,以及在某个消息周围发送消息 .

    但您可以在 !done 消息之前检索消息,并过滤 !init 之后发送的消息 .

相关问题