【问题标题】:Persistence for user Multi-User Chat in Converse.jsConverse.js 中用户多用户聊天的持久性
【发布时间】:2016-02-09 12:56:36
【问题描述】:

我想从 ejabberd 检索所有聊天对话,即使在我注销后,关闭浏览器并再次登录。请提出任何方法来做到这一点。我正在使用 converse.js。我应该在反向配置中添加一些东西来检索聊天对话吗?

基本上,我想要 Facebook 类型的聊天,我们可以在登录后检索每个用户之间的聊天对话。

这是我的 converse.js 配置:

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

【问题讨论】:

    标签: ejabberd converse.js


    【解决方案1】:

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

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

    在 converse.js 中,您希望在调用 converse.initialize 时将值 rosteralways 传递给 message_archiving

    例如:

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

    roster 表示仅存档您名册中联系人的往来消息。 always 当然意味着消息总是被归档。

    还有相关的选项archived_messages_page_size,可以用来设置一次获取多少条消息。

    【讨论】:

    • 非常感谢您的回答。真的帮了我很多
    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    相关资源
    最近更新 更多