通过Ejabberd加入MUC房间成为MUC房间的主人API
Join MUC room to become occupants of MUC room via Ejabberd API
我正在努力通过 API http 向 muc room 发送消息。我观察到 get_room_occupants
加入 muc room 的用户是可能的。
现在,从 ejabberd muc 房间我发现团队成员在那里但不是团队的成员,这就是为什么显示此错误 Only occupants are allowed to send messages to the conference
虽然是组成员。
有什么api可以把我连接到muc并显示我在乘员中吗?
Ejabberd 版本:17.11
安装于:ubuntu 16.04
配置的数据库:mysql
Ejaberd.yml
api_permissions:
"console commands":
from:
- ejabberd_ctl
who: all
what: "*"
"admin access":
who: all
what:
- "*"
- "!stop"
- "!start"
"public commands":
who: all
what:
- "*"
commands_admin_access:
- allow:
- user: "xxx@yy.zz"
commands:
add_commands:
- status
- registered_users
- register
- unregister
- get_roster
- connected_users
- send_stanza_c2s
- send_stanza
- join_cluster
oauth_expire: 3600
oauth_access: all
在MUC服务中具有管理员权限的帐户可以向任何房间发送消息,无需是房间的主人。
例如,使用此配置:
acl:
admin:
user:
- "user1@localhost"
modules:
mod_muc:
access_admin:
- allow: admin
我可以执行此查询,提供一个存在的帐户和一个存在的房间,但该帐户不在该房间中:
$ ejabberdctl send_message groupchat user1@localhost room1@conference.localhost Sub Bodyyy
该房间的住户收到消息:
<message to='user2@localhost/tka1'
from='room1@conference.localhost'
type='groupchat'
id='1234779465623896577'>
<body xml:lang='en'>Bodyyy</body>
<subject xml:lang='en'>Sub</subject>
</message>
或者,您可以订阅一个 MUC 房间的帐户,然后允许该帐户在不占用房间的情况下向房间发送消息。例如:
$ ejabberdctl subscribe_room user2@localhost/tka1 User2 room1@conference.localhost urn:xmpp:mucsub:nodes:messages
urn:xmpp:mucsub:nodes:messages
$ ejabberdctl send_message groupchat user2@localhost room1@conference.localhost Sub Bodyyy
我正在努力通过 API http 向 muc room 发送消息。我观察到 get_room_occupants
加入 muc room 的用户是可能的。
现在,从 ejabberd muc 房间我发现团队成员在那里但不是团队的成员,这就是为什么显示此错误 Only occupants are allowed to send messages to the conference
虽然是组成员。
有什么api可以把我连接到muc并显示我在乘员中吗?
Ejabberd 版本:17.11 安装于:ubuntu 16.04 配置的数据库:mysql
Ejaberd.yml
api_permissions:
"console commands":
from:
- ejabberd_ctl
who: all
what: "*"
"admin access":
who: all
what:
- "*"
- "!stop"
- "!start"
"public commands":
who: all
what:
- "*"
commands_admin_access:
- allow:
- user: "xxx@yy.zz"
commands:
add_commands:
- status
- registered_users
- register
- unregister
- get_roster
- connected_users
- send_stanza_c2s
- send_stanza
- join_cluster
oauth_expire: 3600
oauth_access: all
在MUC服务中具有管理员权限的帐户可以向任何房间发送消息,无需是房间的主人。
例如,使用此配置:
acl:
admin:
user:
- "user1@localhost"
modules:
mod_muc:
access_admin:
- allow: admin
我可以执行此查询,提供一个存在的帐户和一个存在的房间,但该帐户不在该房间中:
$ ejabberdctl send_message groupchat user1@localhost room1@conference.localhost Sub Bodyyy
该房间的住户收到消息:
<message to='user2@localhost/tka1'
from='room1@conference.localhost'
type='groupchat'
id='1234779465623896577'>
<body xml:lang='en'>Bodyyy</body>
<subject xml:lang='en'>Sub</subject>
</message>
或者,您可以订阅一个 MUC 房间的帐户,然后允许该帐户在不占用房间的情况下向房间发送消息。例如:
$ ejabberdctl subscribe_room user2@localhost/tka1 User2 room1@conference.localhost urn:xmpp:mucsub:nodes:messages
urn:xmpp:mucsub:nodes:messages
$ ejabberdctl send_message groupchat user2@localhost room1@conference.localhost Sub Bodyyy