限制 ejabberd MUC 中的最大用户数
Limit max users in ejabberd MUC
正如我在 xep-0045 中看到的那样,可以选择限制房间中的最大用户数:
<field
var='muc#roomconfig_maxusers'
type='list-single'
label='Maximum Number of Room Occupants'/>
我正在使用 Java 的 Smack 库来创建房间。我在创建过程中像这样发送表单:
[...]
List<String> list = new ArrayList<String>();
list.add("3");
submitForm.setAnswer("muc#roomconfig_maxusers", list);
[...]
muc.sendConfigurationForm(submitForm);
而且它不起作用。例如,在一个房间里我可以看到 4 个人,但是服务器应该不会接受第 4 次邀请,对吗?
其他选项(muc#roomconfig_persistentroom
、muc#roomconfig_membersonly
等)工作正常。只有 muc#roomconfig_maxusers
.
有问题
我使用的是最新版本的 ejabberd。
如何限制 MUC 中的最大用户数?
1) 无法为此选项设置自定义值。您可以查看 sources。可能的值为:[5, 10, 20, 30, 50, 100, 200, 500, 1000, 2000, 5000]
.
2) 管理员不算数。所以,如果你的房间里有 5 个人(其中 1 人是管理员),那么 1 个人仍然可以加入这个房间。
正如我在 xep-0045 中看到的那样,可以选择限制房间中的最大用户数:
<field
var='muc#roomconfig_maxusers'
type='list-single'
label='Maximum Number of Room Occupants'/>
我正在使用 Java 的 Smack 库来创建房间。我在创建过程中像这样发送表单:
[...]
List<String> list = new ArrayList<String>();
list.add("3");
submitForm.setAnswer("muc#roomconfig_maxusers", list);
[...]
muc.sendConfigurationForm(submitForm);
而且它不起作用。例如,在一个房间里我可以看到 4 个人,但是服务器应该不会接受第 4 次邀请,对吗?
其他选项(muc#roomconfig_persistentroom
、muc#roomconfig_membersonly
等)工作正常。只有 muc#roomconfig_maxusers
.
我使用的是最新版本的 ejabberd。
如何限制 MUC 中的最大用户数?
1) 无法为此选项设置自定义值。您可以查看 sources。可能的值为:[5, 10, 20, 30, 50, 100, 200, 500, 1000, 2000, 5000]
.
2) 管理员不算数。所以,如果你的房间里有 5 个人(其中 1 人是管理员),那么 1 个人仍然可以加入这个房间。