【问题标题】:Ejabberd: Additional message types in MUCEjabberd:MUC 中的其他消息类型
【发布时间】:2012-01-30 00:43:52
【问题描述】:

我需要大量具有附加功能的 MUC 聊天:

  1. 通过代码手动更改用户房间

  2. 处理特殊的“系统”调用(例如,像 /changeroom 这样的调用不能传送给每个人,而是由系统处理)

  3. 在 mnesia 表中存储大量有关用户的附加数据

  4. 将所有历史记录存储在硬盘上的 db 中某处,并在请求时返回。

唯一想到的(关于第二点)是捕获每个处理 package_fillter 事件的包。但这似乎太重了。

你有什么建议?

【问题讨论】:

    标签: ejabberd multiuserchat


    【解决方案1】:

    我确认你的方法有点矫枉过正。处理所有数据包似乎没有必要。

    如果 MUC XMPP 扩展的功能不足以满足您的需求,您需要编写自定义 MUC 模块扩展 (XEP-0045)。

    ejabberd 15.07 开始,引入了一个名为muc_filter_packet 的新钩子API。它允许您轻松编写一个 ejabberd 模块来仅扩展 MUC 数据包处理,而无需侦听所有服务器范围的数据包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 2016-09-13
      • 1970-01-01
      • 2019-07-29
      相关资源
      最近更新 更多