我目前正在使用React和Stanza.js构建一个聊天应用程序。我可以使用以下命令查询两个用户之间的消息:
client.searchHistory([self@hostname], {with: [target@hostname]})
但是,这将只给出这两个用户之间最早的50条消息,并且此客户端方法的选项只有"with: string、start: date和end: date“的参数,无论这些参数设置为什么,都只会返回50条消息。
有没有不同的客户端方法可以用来查询两个用户之间的消息,以支持分页请求?
这是我应该使用的允许用户通过在聊天时间轴上滚动来检索历史文本的正确客户端方法吗?
发布于 2021-04-07 08:44:59
不幸的是,我错过了一个能说明问题的接口,它将MAM选项描述为扩展MAM查询。
为了对两个用户之间交换的所有消息执行分页请求,您可以这样做。Client.searchHistory(自身@主机名,{与:目标@主机名,分页:{之前: lastQueryId,最大: 25}});
其中,之前将是在"“处初始化的字符串,并且在所有后续请求中将替换为列表中返回的第一个元素的节查询id。
查询的结果还将返回"complete“的值,该值将是一个布尔值,让您知道是否已到达第一条消息。
https://stackoverflow.com/questions/66976485
复制相似问题