0

来自xep-0045: http: //xmpp.org/extensions/xep-0045.html#enter-history 似乎用户只能在加入房间时获取房间历史消息。例如,用户在加入房间时可以获得 20 条消息。

但是加入房间后,如果用户想要更多的历史消息,似乎没有办法做到这一点。

有任何想法吗?

4

1 回答 1

0

我已经解决了这个问题。有两种解决方案: 1. 目前的ejabberd MAM 不支持MAM MUC。但是有一个分支可以用于测试。请记住,它尚未公开发布。 https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl

  1. 编写一个模块来挂钩 user_send_packet,在挂钩中,将 MUC 消息存储在 SQL 中。然后提供一个 http API 来请求 MUC 消息。从客户端的角度来看,我使用 HTTP API 来查询 MUC 历史消息。

请参阅此线程: ejabberd MAM 不适用于 MUC

于 2015-06-25T15:13:09.573 回答