我尝试使用服务发现来找出 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: {}