在创建时获取Openfire聊天室设置

时间:2018-08-21 13:27:21

标签: java plugins handler openfire

我有一个带有聊天室创建处理程序的插件。 当我使用指定的maxUsers创建新房间时(与管理面板或rest api插件无关),我得到的maxUsers = 30。

public void roomCreated(room jid) {
   // ...
   MUCRoom mucRoom = XMPPServer.getInstance()
      .getMultiUserChatManager()
      .getMultiUserChatService(room)
      .getChatRoom(room.getNode());
   // ...
   int maxUsers = mucRoom.getMaxUsers(); // always 30 in this handler
   // ...
}

例如在更改房间设置的处理程序中,maxUsers是正确的。

是否在设置聊天室设置之前调用roomCreated处理程序?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

足以在线程中运行代码,并在广告开始时稍有延迟(100-200毫秒)。

这可能不是最好的解决方案,但错误的最大用户创造的房间价值也不好。