【问题标题】:How to create a MUC room from php or using direct command with ejabberd如何从 php 或使用 ejabberd 的直接命令创建 MUC 房间
【发布时间】:2015-10-29 14:05:29
【问题描述】:

我有一个应用程序需要在正常注册过程发生时注册一个 ejabberd 用户。我使用ejabberdctl register 命令处理了这个问题。

同样,我需要将一些用户添加到 MUC 组,因此,我需要使用 php/命令行创建一个组。

我发现 ejabberdctl create_room 可以满足我的需要,但我似乎无法让它发挥作用。

我用过这个:

sudo ejabberdctl create_room testRoom conference.localhost conference.localhost

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

现在,create_room 命令采用 3 个参数,即 nameservicehost

我似乎无法弄清楚这个服务参数。

任何帮助将不胜感激。花了一整天的时间!

附:我正在使用 Ubuntu 14.04 x64 和 ejabberd 15.07

【问题讨论】:

    标签: php ubuntu xmpp ejabberd multiuserchat


    【解决方案1】:

    参数描述在mod_muc_admin documentation页面:

    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,卡了好久! :)
    • 我现在想将用户(不是邀请)添加到我创建的某个房间,但我似乎在文档或模块中找不到任何相同的命令。你知道有什么可以帮助的吗?
    • 您可以更改从属关系,并且该模块上有一种方法。然而 XMPP MUC 协议是基于状态的,因此要实际加入房间,用户需要向该房间发送状态。它是必需的,因为按照设计,MUC 房间需要一个活跃的用户会话。
    猜你喜欢
    • 2019-02-25
    • 1970-01-01
    • 2018-10-07
    • 2012-09-13
    • 2018-10-05
    • 2011-10-10
    • 2021-11-04
    • 2016-08-13
    相关资源
    最近更新 更多