限制 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_persistentroommuc#roomconfig_membersonly 等)工作正常。只有 muc#roomconfig_maxusers.

有问题

我使用的是最新版本的 ejabberd。

如何限制 MUC 中的最大用户数?

1) 无法为此选项设置自定义值。您可以查看 sources。可能的值为:[5, 10, 20, 30, 50, 100, 200, 500, 1000, 2000, 5000].

2) 管理员不算数。所以,如果你的房间里有 5 个人(其中 1 人是管理员),那么 1 个人仍然可以加入这个房间。