EMChatRoomManager 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 EMClient.getInstance.chatRoomManager.joinChatRoom(chatRoomId);
  } on EMError catch (e) {
      debugPrint(e.toString());
  }
Available Extensions

Properties

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

Methods

addAttributes(String roomId, {required Map<String, String> attributes, bool deleteWhenLeft = false, bool overwrite = false}) Future<Map<String, int>?>
Sets custom chat room attributes. Param roomId The chat room ID. Param attributes The chat room attributes to add. The attributes are in key-value format. Note: In a key-value pair, the key is the attribute name that can contain 128 characters at most; the value is the attribute value that cannot exceed 4096 characters. A chat room can have a maximum of 100 custom attributes and the total length of custom chat room attributes cannot exceed 10 GB for each app. Attribute keys support the following character sets:
addChatRoomAdmin(String roomId, String admin) Future<void>
Adds a chat room admin.
addEventHandler(String identifier, EMChatRoomEventHandler 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<EMChatRoom>
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(String roomId, List<String>? keys) Future<Map<String, String>?>
Gets the list of custom chat room attributes based on the attribute key list. Param roomId The chat room ID. Param keys The key list of attributes to get. If you set it as null or leave it empty, this method retrieves all custom attributes. Return The chat room attributes in key-value pairs. Throws A description of the exception. See EMError.
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<EMChatRoom>
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<EMCursorResult<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<EMPageResult<EMChatRoom>>
Gets chat room data from the server with pagination.
getChatRoomWithId(String roomId) Future<EMChatRoom?>
Gets the chat room in the cache.
getEventHandler(String identifier) EMChatRoomEventHandler?
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.
inherited
removeAttributes(String roomId, {required List<String> keys, bool force = false}) Future<Map<String, int>?>
Removes custom chat room attributes. Param roomId The chat room ID. Param keys The keys of the custom chat room attributes to remove. Param force Whether to remove the attributes with same key set by others. Return failureKeys map is returned in key-value format, where the key is the attribute key and the value is the reason for the failure. Throws A description of the exception. See EMError.
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.
inherited
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.

Operators

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