【问题标题】:ejabberd: retrieve chat history from mysql dbejabberd:从 mysql db 中检索聊天记录
【发布时间】:2012-04-12 06:19:39
【问题描述】:

我正在使用 iOS 客户端(和 XMPPFramework)构建基于 ejabberd 的聊天系统。

我当前的聊天系统仅支持用户之间的一对一对话,将聊天记录保存在 MySQL 数据库中。

为了重新创建相同的聊天系统,我需要 ejabberd 从我的数据库中检索聊天历史记录,以便用户在切换到新聊天系统时不会丢失以前的对话。

我不想保存会话客户端,因为可以删除并重新安装 iOS 应用(或者用户可以切换设备)。

是否可以让 ejabberd 从我的 MySQL 数据库中读取聊天记录?

【问题讨论】:

    标签: mysql chat history ejabberd xmppframework


    【解决方案1】:

    mod_archive_odbc 应该可以做到这一点。 这是一个额外的 ejabberd 模块,您可以通过使用 SVN 查看http://svn.process-one.net/ejabberd-modules/ 来找到它。 关于如何在 Debian can be found here 上构建和安装模块的示例。

    【讨论】:

      【解决方案2】:

      这个问题有点老了,但如果有人仍然感兴趣。

      这可以通过消息存档管理 (http://xmpp.org/extensions/xep-0313.html) 来实现。

      这个 XEP 的最完整的实现是在 MongooseIM(ejabberd 的分支)中。 https://github.com/esl/MongooseIM/blob/master/apps/ejabberd/src/mod_mam.erl

      ProcessOne 页面声称在此页面上支持归档:http://www.process-one.net/en/ejabberd/#getejabberd,但在此页面上没有提及:http://www.process-one.net/en/ejabberd/protocols/。看起来他们正在使用他们的自定义规范。

      请注意,由于模块调用的函数参数存在细微差异,您将无法直接将 MongooseIM 中的 mod_mam 与 processone ejabberd 一起使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-09
        • 2016-11-09
        • 2021-02-21
        • 2017-01-15
        • 2010-10-04
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多