我想从ejabberd检索所有聊天对话,即使在我退出后,关闭浏览器并再次登录。请建议任何方式来做到这一点。我正在使用converse.js。我应该在逆向配置中添加一些内容来检索聊天对话吗?
基本上,我想在Facebook上进行聊天,我们可以在每个用户登录后检索聊天对话。
这是我的converse.js config:
converse.initialize({
websocket_url: webSocketUrl, // ConnectionUrl
keepalive: true,
message_carbons: true,
play_sounds: true,
auto_login: true,
jid: user,
password: password,
show_controlbox_by_default: false,
auto_list_rooms:true,
allow_logout: false,
allow_registration: false,
});
答案 0 :(得分:1)
Converse.js支持XMPP扩展XEP-0313 Message Archive Management (MAM)。
您需要确保您的XMPP服务器支持MAM。 Ejabberd 15.06支持它。您需要在Ejabberd的配置文件中打开它。
在converse.js中,当您致电roster
时,您希望将值always
或converse.initialize
传递给message_archiving。
例如:
converse.initialize({
// Your other options go here...
message_archiving: 'always'
});
roster
表示只会存档与您名单中的联系人之间的邮件。 always
当然意味着邮件总是存档。
还有相关选项archived_messages_page_size,您可以使用它来设置一次提取的邮件数量。