Converse.js中用户多用户聊天的持久性

时间:2016-02-09 12:56:37

标签: ejabberd converse.js

我想从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,
                    });

1 个答案:

答案 0 :(得分:1)

Converse.js支持XMPP扩展XEP-0313 Message Archive Management (MAM)

您需要确保您的XMPP服务器支持MAM。 Ejabberd 15.06支持它。您需要在Ejabberd的配置文件中打开它。

在converse.js中,当您致电roster时,您希望将值alwaysconverse.initialize传递给message_archiving

例如:

converse.initialize({
                   // Your other options go here...
                   message_archiving: 'always'
                });

roster表示只会存档与您名单中的联系人之间的邮件。 always当然意味着邮件总是存档。

还有相关选项archived_messages_page_size,您可以使用它来设置一次提取的邮件数量。