ChatRoomManager class

The chat room manager class, which manages user joining and exiting the chat room, retrieving the chat room list, and managing member privileges. The sample code for joining a chat room:

  try {
      await ChatClient.getInstance.chatRoomManager.joinChatRoom(chatRoomId);
  } on ChatError catch (e) {


hashCode int
The hash code for this object.
runtimeType Type
A representation of the runtime type of the object.


addAttributes(String roomId, {required Map<String, String> attributes, bool deleteWhenLeft = false, bool overwrite = false}) Future<Map<String, int>?>
Sets custom chat room attributes.
addChatRoomAdmin(String roomId, String admin) Future<void>
Adds a chat room admin.
addEventHandler(String identifier, ChatRoomEventHandler handler) → void
Adds the room event handler. After calling this method, you can handle for new room event when they arrive.
addMembersToChatRoomAllowList(String roomId, List<String> members) Future<void>
Adds members to the allowlist.
blockChatRoomMembers(String roomId, List members) Future<void>
Adds the specified members to the block list of the chat room.
changeChatRoomDescription(String roomId, String description) Future<void>
Modifies the chat room description.
changeChatRoomName(String roomId, String name) Future<void>
Changes the chat room name.
changeOwner(String roomId, String newOwner) Future<void>
Transfers the chat room ownership.
clearEventHandlers() → void
Clear all room event handlers.
createChatRoom(String name, {String? desc, String? welcomeMsg, int maxUserCount = 300, List<String>? members}) Future<ChatRoom>
Creates a chat room.
destroyChatRoom(String roomId) Future<void>
Destroys a chat room.
fetchChatRoomAllowListFromServer(String roomId) Future<List<String>>
Gets the allow list from the server.
fetchChatRoomAnnouncement(String roomId) Future<String?>
Gets the chat room announcement from the server.
fetchChatRoomAttributes({required String roomId, List<String>? keys}) Future<Map<String, String>?>
Gets the list of custom chat room attributes based on the attribute key list.
fetchChatRoomBlockList(String roomId, {int pageNum = 1, int pageSize = 200}) Future<List<String>>
Gets the chat room block list with pagination.
fetchChatRoomInfoFromServer(String roomId, {bool fetchMembers = false}) Future<ChatRoom>
Gets the details of the chat room from the server. By default, the details do not include the chat room member list.
fetchChatRoomMembers(String roomId, {String? cursor, int pageSize = 200}) Future<ChatCursorResult<String>>
Gets the chat room member list.
fetchChatRoomMuteList(String roomId, {int pageNum = 1, int pageSize = 200}) Future<List<String>>
Gets the list of members who are muted in the chat room from the server.
fetchPublicChatRoomsFromServer({int pageNum = 1, int pageSize = 200}) Future<ChatPageResult<ChatRoom>>
Gets chat room data from the server with pagination.
getChatRoomWithId(String roomId) Future<ChatRoom?>
Gets the chat room in the cache.
getEventHandler(String identifier) ChatRoomEventHandler?
Get the room event handler.
isMemberInChatRoomAllowList(String roomId) Future<bool>
Checks whether the member is on the allow list.
joinChatRoom(String roomId) Future<void>
Joins the chat room.
leaveChatRoom(String roomId) Future<void>
Leaves the chat room.
muteAllChatRoomMembers(String roomId) Future<void>
Mutes all members.
muteChatRoomMembers(String roomId, List<String> muteMembers, {int duration = -1}) Future<void>
Mutes the specified members in a chat room.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
removeAttributes(String roomId, {required List<String> keys, bool force = false}) Future<Map<String, int>?>
Removes custom chat room attributes.
removeChatRoomAdmin(String roomId, String admin) Future<void>
Removes privileges of a chat room admin.
removeChatRoomMembers(String roomId, List<String> members) Future<void>
Removes the specified members from a chat room.
removeEventHandler(String identifier) → void
Remove the room event handler.
removeMembersFromChatRoomAllowList(String roomId, List<String> members) Future<void>
Removes members from the allow list.
toString() String
A string representation of this object.
unBlockChatRoomMembers(String roomId, List members) Future<void>
Removes the specified members from the block list of the chat room.
unMuteAllChatRoomMembers(String roomId) Future<void>
Unmutes all members.
unMuteChatRoomMembers(String roomId, List<String> unMuteMembers) Future<void>
Unmutes the specified members in a chat room.
updateChatRoomAnnouncement(String roomId, String announcement) Future<void>
Updates the chat room announcement.


operator ==(Object other) bool
The equality operator.