2010-01-04 63 views
2

删除一个用户我想删除一个聊天账号,并在同一时间:如何从所有名册中Ejabberd

  1. 删除他的花名册
  2. 所有他的朋友删除了他的名册

我该怎么做?

我试过了ejabberdctl的各种选项。我可以注销一个用户,甚至清除他的名单,但我无法找到一种方法将他从其他名单中删除。

PS:我的所有用户目前都在一台服务器/主机

回答

0

。如果保存名册数据在Mnesia中(mod_roster),而不是在外部数据库(mod_roster_odbc),然后mod_admin_extra:delete_rosteritem/4可以帮助您删除用户名册。否则,你将不得不使用odbc_queries功能。

如果用户的联系人也是您的用户(不允许s2s连接),那么您可以使用delete_rosteritem与交换的参数,或者使用mnesia/odbc hackery。在联盟设置中,您无法访问联系人的名单,但您可能同时发送他的服务器,存在取消订阅和存在取消订阅节。请参阅RFC 3921或询问详细信息。

不幸的是,我不知道现成的解决方案,但可能会在接下来的几周内提出一个解决方案。

0

通常,删除用户将从所有本地用户的名单中取消订阅,也可以通过服务器到服务器组件向远程用户发送取消订阅请求。你可能想看看ad-hoc commands,其中ejabberd supports。通过这种方式,您可以编写一个工具来从命令行执行此操作,这就是您希望从问题标签中看到的内容。

网络管理界面可能是一个很受欢迎的地方。我知道这是我用openfire做的地方。

相关问题