按需获取房间聊天记录
Get room chat history on demand
来自 xep-0045:http://xmpp.org/extensions/xep-0045.html#enter-history
似乎用户只有在加入房间时才能获得房间历史消息。例如,用户加入房间时可以获得 20 条消息。
但是加入房间后,如果用户想要更多历史消息,似乎没有办法实现。
有什么想法吗?
我已经解决了这个问题。有两种解决方案:
1.目前的ejabberd MAM不支持MAM MUC。但是有一个分支可以用于测试。请记住,它尚未 public 发布。
https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl
- 编写一个模块来挂钩user_send_packet,在挂钩中,将MUC消息存储在SQL中。然后提供一个 http API 来请求 MUC 消息。从客户端的角度来看,我使用 HTTP API 来查询 MUC 历史消息。
参考这个话题:
来自 xep-0045:http://xmpp.org/extensions/xep-0045.html#enter-history 似乎用户只有在加入房间时才能获得房间历史消息。例如,用户加入房间时可以获得 20 条消息。
但是加入房间后,如果用户想要更多历史消息,似乎没有办法实现。
有什么想法吗?
我已经解决了这个问题。有两种解决方案: 1.目前的ejabberd MAM不支持MAM MUC。但是有一个分支可以用于测试。请记住,它尚未 public 发布。 https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl
- 编写一个模块来挂钩user_send_packet,在挂钩中,将MUC消息存储在SQL中。然后提供一个 http API 来请求 MUC 消息。从客户端的角度来看,我使用 HTTP API 来查询 MUC 历史消息。
参考这个话题: