eJabberd 服务发现不显示服务管理(XEP-0133 命令)

eJabberd 服务发现不显示服务管理(XEP-0133 命令)

我尝试使用服务发现来找出 xmpp-server 根据 XEP-0133 支持哪些命令(https://xmpp.org/extensions/xep-0133.html#disco)。第一个通用支持请求告诉我支持服务管理。但是当我尝试获取支持的命令时,我只得到了配置命令。下图显示了来自服务器的响应。

服务器回复节

服务器回复节

我的 ejabberd.yml 已同时mod_adhoc激活mod_announce并且管理员帐户应该能够使用这些命令。

modules:
  mod_adhoc: {}
  mod_admin_extra: {}
  mod_announce: # recommends mod_adhoc
    access: announce

announce:
    - allow: admin

  admin:
    user:
      - "admin@localhost"

我还需要配置什么才能获得更多的 disco#items 来设置每日消息等?

答案1

ejabberd 在 XEP-0133 设计出来之前很久就实现了一种向用户发送公告的方法,你仍然可以使用这种方法发送公告:管理员向特定 JID 发送一个节,然后 ejabberd 发送它。该功能不需要 XEP-0133。请参阅https://docs.ejabberd.im/admin/configuration/#mod-announce

如何配置公告功能:

acl:
  admin:
    user:
      - user1@localhost

access_rules:
  announce:
    allow: admin

modules:
  mod_announce:
    access: announce

几年后,XEP-0133 被设计出来,并被实现到 ejabberd 中。如何配置 XEP-0133 功能:

acl:
  admin:
    user:
      - user1@localhost

access_rules:
  announce:
    allow: admin
  configure:
    allow: admin

modules:
  mod_adhoc: {}
  mod_announce:
    access: announce
  mod_disco: {}
  mod_configure: {}

相关内容