Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cometchat-22654f5b-docs-android-v6-beta2.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

// Block users
List<String> uids = ["UID1", "UID2"];
CometChat.blockUser(uids, onSuccess: (Map<String, dynamic> map) {
  debugPrint("Blocked: $map");
}, onError: (CometChatException e) {
  debugPrint("Error: ${e.message}");
});

// Unblock users
CometChat.unblockUser(uids, onSuccess: (Map<String, dynamic> map) {
  debugPrint("Unblocked: $map");
}, onError: (CometChatException e) {
  debugPrint("Error: ${e.message}");
});

// Get blocked users list
BlockedUsersRequest request = (BlockedUsersRequestBuilder()..limit = 30).build();
request.fetchNext(onSuccess: (List<User> users) { }, onError: (e) { });
Directions: directionBlockedByMe | directionHasBlockedMe | directionBoth (default)
Block users to prevent them from sending messages to the logged-in user. This feature helps users manage their privacy and control who can communicate with them.
Available via: SDK | REST API | UI Kits

Block Users

In other words, as a logged-in user, how do I block a user from sending me messages? You can block users using the blockUser() method. Once any user is blocked, all the communication to and from the respective user will be completely blocked. You can block multiple users in a single operation. The blockUser() method takes a List<String> as a parameter which holds the list of UIDs to be blocked.

Parameters

ParameterTypeDescription
uidsList<String>?List of UIDs of users to block
onSuccessFunction(Map<String, dynamic> map)?Callback triggered on successful block operation
onErrorFunction(CometChatException excep)?Callback triggered on error
List<String > uids = [];
uids.add("UID1");
uids.add("UID2");
uids.add("UID3");
CometChat.blockUser(uids, onSuccess: (Map<String, dynamic> map) {
debugPrint("Blocked User Successfully $map ");
}, onError: (CometChatException e) {
debugPrint("Blocked User Unsuccessful ${e.message} ");
});
On Success — A Map<String, dynamic> containing UIDs as keys and "success" or "fail" as values indicating the result of each block operation:Map Object:
ParameterTypeDescriptionSample Value
UID1stringBlock result for UID1"success"
UID2stringBlock result for UID2"success"
UID3stringBlock result for UID3"success"
ParameterTypeDescriptionSample Value
codestringError code identifier"ERR_UID_NOT_FOUND"
messagestringHuman-readable error message"The specified UID does not exist."
detailsstringAdditional technical details"Please verify the UID and try again."
In the onSuccess() callback, you receive a Map which contains UIDs as the keys and success or fail as the value based on if the block operation for the UID was successful or not.

Unblock Users

In other words, as a logged-in user, how do I unblock a user I previously blocked? You can unblock the already blocked users using the unblockUser() method. You can unblock multiple users in a single operation. The unblockUser() method takes a List<String> as a parameter which holds the list of UIDs to be unblocked.

Parameters

ParameterTypeDescription
uidsList<String>?List of UIDs of users to unblock
onSuccessFunction(Map<String, dynamic> map)?Callback triggered on successful unblock operation
onErrorFunction(CometChatException excep)?Callback triggered on error
List<String > uids = [];
uids.add("UID1");
uids.add("UID2");
uids.add("UID3");

CometChat.unblockUser(uids, onSuccess: (Map<String, dynamic> map) {
 debugPrint("Blocked User Successfully $map ");
 }, onError: (CometChatException e) {
 debugPrint("Blocked User Unsuccessful ${e.message} ");
 });
On Success — A Map<String, dynamic> containing UIDs as keys and "success" or "fail" as values indicating the result of each unblock operation:Map Object:
ParameterTypeDescriptionSample Value
UID1stringUnblock result for UID1"success"
UID2stringUnblock result for UID2"success"
UID3stringUnblock result for UID3"success"
ParameterTypeDescriptionSample Value
codestringError code identifier"ERR_UID_NOT_FOUND"
messagestringHuman-readable error message"The specified UID does not exist."
detailsstringAdditional technical details"Please verify the UID and try again."
In the onSuccess() callback, you receive a Map which contains UIDs as the keys and success or fail as the value based on if the unblock operation for the UID was successful or not.

Get list of blocked users

In other words, as a logged-in user, how do I get a list of all users I’ve blocked? In order to fetch the list of blocked users, you can use the BlockedUsersRequest class. To use this class i.e to create an object of the BlockedUsersRequest class, you need to use the BlockedUsersRequestBuilder class. The BlockedUsersRequestBuilder class allows you to set the parameters based on which the blocked users are to be fetched. The BlockedUsersRequestBuilder class allows you to set the below parameters:

BlockedUsersRequestBuilder

ParameterTypeDescription
limitint?Number of blocked users to fetch per request. Max: 100, Default: 30
searchKeywordString?Keyword to filter blocked users by name
directionString?Direction of block — directionBlockedByMe, directionHasBlockedMe, or directionBoth (default)
setPageint?Fetch blocked users from a particular page

Set Limit

This method sets the limit i.e. the number of blocked users that should be fetched in a single iteration.
BlockedUsersRequest blockedUsersRequest =   (BlockedUsersRequestBuilder()
  ..limit = 50
  ).build();

Set Search Keyword

This method allows you to set the search string based on which the blocked users are to be fetched.
BlockedUsersRequest blockedUsersRequest =  (BlockedUsersRequestBuilder()
  ..limit = 50
  ..searchKeyword = "abc"
  ).build();

Set Direction

  • CometChatBlockedUsersDirection.directionBlockedByMe - This will ensure that the list of blocked users only contains the users blocked by the logged in user.
  • CometChatBlockedUsersDirection.directionHasBlockedMe - This will ensure that the list of blocked users only contains the users that have blocked the logged in user.
  • CometChatBlockedUsersDirection.directionBoth - This will make sure the list of users includes both the above cases. This is the default value for the direction variable if it is not set.
BlockedUsersRequest blockedUsersRequest = (BlockedUsersRequestBuilder()
  ..limit = 50
  ..direction = CometChatBlockedUsersDirection.directionBlockedByMe
  ).build();  
Finally, once all the parameters are set in the builder class, you need to call the build() method to get the object of the BlockedUsersRequest class. Once you have the object of the BlockedUsersRequest class, you need to call the fetchNext() method. Calling this method will return a list of User objects containing n number of blocked users where N is the limit set in the builder class.
BlockedUsersRequest blockedUsersRequest = (BlockedUsersRequestBuilder()
    ..limit = 30
  ).build();

blockedUsersRequest.fetchNext(onSuccess: (List<User> userList){
    debugPrint("Custom Message Sent Successfully : $userList ");
  }, onError: (CometChatException e){
    debugPrint("Blocked User Request failed with exception: ${e.message}");
}); 
On Success — A List<User> containing the blocked users:User Object (per item in list):
ParameterTypeDescriptionSample Value
uidstringUnique identifier of the user"cometchat-uid-3"
namestringDisplay name of the user"Kevin Hart"
linkstringProfile linknull
avatarstringAvatar URL"https://assets.cometchat.io/sampleapp/v2/users/cometchat-uid-3.webp"
metadataobjectCustom metadata{}
statusstringOnline status"offline"
rolestringUser role"default"
statusMessagestringStatus messagenull
tagsarrayUser tags[]
hasBlockedMebooleanWhether this user has blocked the current userfalse
blockedByMebooleanWhether the current user has blocked this usertrue
lastActiveAtnumberEpoch timestamp of last activity1745550000
ParameterTypeDescriptionSample Value
codestringError code identifier"ERR_UID_NOT_FOUND"
messagestringHuman-readable error message"The specified UID does not exist."
detailsstringAdditional technical details"Please verify the UID and try again."
Relevant fields to access on returned User objects:
FieldTypeDescription
blockedByMeboolWhether the logged-in user has blocked this user
hasBlockedMeboolWhether this user has blocked the logged-in user

Next Steps

Retrieve Users

Fetch and filter users from your CometChat app

User Management

Create, update, and delete users programmatically

User Presence

Track online/offline status of users in real-time

Users Overview

Complete guide to user features in CometChat