按需获取房间聊天记录
Posted
技术标签:
【中文标题】按需获取房间聊天记录【英文标题】:Get room chat history on demand 【发布时间】:2015-06-23 06:29:18 【问题描述】:来自 xep-0045:http://xmpp.org/extensions/xep-0045.html#enter-history 似乎用户只有在加入房间时才能获得房间历史消息。例如,用户在加入房间时可以收到 20 条消息。
但是加入房间后,如果用户想要更多的历史消息,似乎没有办法做到这一点。
有什么想法吗?
【问题讨论】:
【参考方案1】:我已经解决了这个问题。有两种解决方案: 1. 当前的 ejabberd MAM 不支持 MAM MUC。但是有一个分支可以用于测试。请记住它尚未公开发布。 https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl
-
编写一个模块来挂钩user_send_packet,在挂钩中,将MUC消息存储在SQL中。然后提供一个 http API 来请求 MUC 消息。从客户端的角度来看,我使用 HTTP API 来查询 MUC 历史消息。
参考这个帖子: ejabberd MAM does not work for MUC
【讨论】:
以上是关于按需获取房间聊天记录的主要内容,如果未能解决你的问题,请参考以下文章