来自xep-0045:http://xmpp.org/extensions/xep-0045.html#enter-history 用户似乎只能在加入房间时获取房间历史消息。例如,用户在加入房间时可以收到20条消息。
但是在加入房间后,如果用户想要更多的历史消息,似乎无法实现这一目标。
有什么想法吗?
答案 0 :(得分:0)
最后,我发现MAM可以满足要求 http://xmpp.org/extensions/xep-0313.html#archives_user
我可以获取其他客户端/用户的历史消息,但我仍然无法获取房间历史消息。我发送的iq是:
<iq type='set' id='juliet1'>
<query xmlns='urn:xmpp:mam:0'>
<x xmlns='jabber:x:data'>
<field var='FORM_TYPE'>
<value>urn:xmpp:mam:0</value>
</field>
<field var='with'>
<value>roomJid@conference.host</value>
</field>
</x>
</query>
</iq>
答案 1 :(得分:0)
我已经解决了这个问题。有两种解决方案: 1.目前的ejabberd MAM不支持MAM MUC。但是有一个分支可以用来测试。请记住它尚未公开发布。 https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl