如何通过php或使用ejabberd直接命令创建MUC聊天室

4
我有一个应用程序,在正常注册过程中需要注册一个ejabberd用户。我使用ejabberdctl register命令处理此问题。
同样地,我需要将一些用户添加到MUC组中,因此我需要使用php/命令行创建一个组。
我发现ejabberdctl create_room可以满足我的需求,但似乎无法使其工作。
我使用了以下内容:
sudo ejabberdctl create_room testRoom conference.localhost conference.localhost

但这会打印出堆栈跟踪。我已启用mod_muc_admin模块。

Stacktrace when using ejabberdctl create_room

现在,create_room命令需要三个参数,分别是name、service和host。
我似乎无法理解这个service参数。
任何帮助将不胜感激。已经花了一整天在这上面!
附注:我正在使用Ubuntu 14.04 x64和ejabberd 15.07。
1个回答

10

参数在mod_muc_admin文档页面中有描述:

ejabberdctl create_room room_name muc_service xmpp_domain

参数如下:

  • room_name: 实际聊天室名称
  • muc_service_name: 通常为"conference.YOURXMPPDOMAIN"
  • xmpp_domain: 您的服务主要域名。

例如,在您的情况下,应该是:

bin/ejabberdctl create_room testRoom conference.localhost localhost

非常感谢你,Mickael!我卡了很长时间!:) - SuperNOVA
我现在想要将用户(非邀请)添加到我创建的某个房间中,但是我似乎在文档或模块中找不到任何相关命令。你知道有什么可以帮助我的吗? - SuperNOVA
1
您可以更改所属关系,该模块有相应的方法。但是XMPP MUC协议基于存在性,因此要实际加入房间,用户需要向该房间发送出席信息。这是必需的,因为按设计,MUC房间需要一个活动的用户会话。 - Mickaël Rémond

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接