我想删除一个聊天帐户,同时:
我该怎么做?
我尝试了ejabberdctl的各种选项。我可以取消注册用户,甚至清除他的名单,但我找不到办法将他从其他名单中删除。
PS:我的所有用户当前都在一台服务器/主机上
答案 0 :(得分:0)
如果您将名册数据保存在mnesia(mod_roster
)而不是外部数据库(mod_roster_odbc
)中,那么mod_admin_extra:delete_rosteritem/4
可能会帮助您删除用户的名单。否则你将不得不使用odbc_queries功能。
如果用户的联系人也是您的用户(不允许s2s连接),那么您可以将delete_rosteritem与交换参数一起使用,或者使用mnesia / odbc hackery。在联合设置中,您将无法访问联系人的名单,但您可以发送他的服务器,存在取消订阅和存在未订阅的节。请参阅RFC 3921或询问详细信息。
不幸的是,我不知道一个现成的解决方案,但在接下来的几周内可能会提出一个解决方案。
答案 1 :(得分:0)
通常删除用户将取消订阅所有本地用户的名单,并通过服务器到服务器组件发送远程用户取消订阅请求。您可能需要查看ad-hoc commands,ejabberd supports。通过这种方式,您可以编写工具脚本,从命令行执行此操作,这就是您希望从问号标签中获取的内容。
网络管理员用户界面可能是一个受欢迎的地方。我知道这是我用openfire完成它的地方。