ejabberd - 基于外部 REST API 的自定义花名册模块
Posted
技术标签:
【中文标题】ejabberd - 基于外部 REST API 的自定义花名册模块【英文标题】:ejabberd - Custom roster module based on external REST API 【发布时间】:2020-08-12 22:23:47 【问题描述】:我正在浏览https://docs.ejabberd.im/developer/extending-ejabberd/architecture/,它讨论了通过 REST API 进行的花名册管理。试图找到要使用的模块以及 REST API 应该实现的 API 合约类型。您能否指点我一些讨论如何实现这一目标的博客/教程?
感谢和问候 罗摩
【问题讨论】:
嗨。您在该页面的哪个位置找到了有关通过 REST API 进行名册管理的内容?一旦找到正确的解释,最好在该段落中包含一个链接。 概述的第一段中的最后一句话和第一张图片都在数据模块块下。 “ejabberd 是一个可配置的系统,可以根据客户要求启用或禁用模块。用户不仅可以从普通 PC 连接,还可以从移动设备和网络连接。用户数据可以存储在 Mnesia 内部或其中一个支持 SQL 或 NoSQL 后端。用户可以通过 ReST 接口完全由您自己的后端管理。" 【参考方案1】:以及 REST API 应该实现什么样的 API 契约。您能否指点我一些讨论如何实现这一目标的博客/教程?
有几个与名册相关的命令:
$ ejabberdctl help --tags roster
Available commands with tag roster:
add_rosteritem localuser localhost user host nick group subs
Add an item to a user's roster (supports ODBC)
delete_rosteritem localuser localhost user host
Delete an item from a user's roster (supports ODBC)
get_roster user host
Get roster of a local user
process_rosteritems action subs asks users contacts
List/delete rosteritems that match filter
push_alltoall host group
Add all the users to all the users of Host in Group
push_roster file user host
Push template roster from file to a user
push_roster_all file
Push template roster from file to all those users
您可以在以下位置找到有关这些命令的更多详细信息:
https://docs.ejabberd.im/developer/ejabberd-api/admin-api/
试图找到要使用的模块
所有这些命令都在 mod_admin_extra 中实现。因此,您只需在 ejabberd.yml 中启用此模块,即可执行命令。
【讨论】:
以上是关于ejabberd - 基于外部 REST API 的自定义花名册模块的主要内容,如果未能解决你的问题,请参考以下文章
ejabberd - 通过API获取mod_mam的历史消息。
如何使用 Admin Rest API 将成员添加到 whatsapp 等多用户聊天订阅