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.

// Fetch users list
let request = UsersRequest.UsersRequestBuilder()
    .set(limit: 30).build()
request.fetchNext(onSuccess: { users in }, onError: { error in })

// Get specific user details
CometChat.getUser(UID: "UID", onSuccess: { user in }, onError: { error in })

// Get logged-in user
let me = CometChat.getLoggedInUser()
The CometChat SDK provides methods to retrieve the logged-in user, fetch filtered user lists, and look up individual users by UID. All user methods return User objects.

Get the Logged-In User

Use getLoggedInUser() to get the current user’s details. Returns nil if no user is logged in.
let user = CometChat.getLoggedInUser();
This method returns a User object containing all the information related to the logged-in user.

Retrieve List of Users

Use UsersRequestBuilder to fetch users with filtering, searching, and pagination.

Set Limit

Sets the number of users to fetch per request.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.build()

Set Search Keyword

Filters users by a search string.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.set(searchKeyword: "abc")
.build()

Search In

Specifies which user properties to search. Works with set(searchKeyword:). By default, searches both UID and name.
let searchKeyword = "super"
let searchIn = ["uid", "name"]
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.set(searchKeyword: searchKeyword)
.searchIn(searchIn)
.build()

Set Status

Filters users by online status:
  • CometChat.UserStatus.online — Only online users
  • CometChat.UserStatus.offline — Only offline users
If not set, returns all users.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.set(status: .online)
.build()

Hide Blocked Users

When true, excludes users blocked by the logged-in user from the results.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.hideBlockedUsers(true)
.build()

Set Roles

Filters users by specified roles.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.set(roles : ["role1","role2"])
.build()

Friends Only

When true, returns only friends of the logged-in user.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.friendsOnly(true)
.build();

Set Tags

Filters users by specified tags.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.set(tags: ["tag1", "tag2"])
.build();

With Tags

When true, includes tag data in the returned user objects.
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: 30)
.withTags(true)
.build()

Set UIDs

Fetches specific users by their UIDs. Maximum 25 users per request.
let UIDs = ["cometchat-uid-1", "cometchat-uid-2"]
let limit = 30
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: limit)
.setUIDs(UIDs)
.build();

Sort By

Sorts the user list by a specific property. Default sort order: status → name → UID. Pass "name" to sort by name → UID.
let sortBy = "name"
let limit = 30
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: limit)
.sortBy(sortBy)
.build();

Sort By Order

Sets the sort order. Default is ascending. Use .desc for descending.
let limit = 30
let usersRequest = UsersRequest.UsersRequestBuilder()
.set(limit: limit)
.sortOrder(.desc)
.build();
After configuring the builder, call build() to get the UsersRequest object, then call fetchNext() to retrieve users.
let limit = 20;

let usersRequest = UsersRequest.UsersRequestBuilder(limit: limit).build();

usersRequest.fetchNext(onSuccess: { (users) in

  for user in users {

     print("User: " + user.stringValue())
  }

}) { (error) in

  print("User list fetching failed with error: " + error!.errorDescription);
}

Retrieve Particular User Details

Use getUser() to fetch a specific user’s details by UID.
let uid  = "cometchat-uid-1";

CometChat.getUser(UID: uid, onSuccess: { (user) in

  print("User: " + user.stringValue())

}) { (error) in

  print("User fetching failed with error: " + error.errorDescription);
}
ParameterDescription
UIDThe UID of the user for whom the details are to be fetched.
It returns a User object containing the details of the user.

Next Steps

User Presence

Track and subscribe to user online/offline status

Block Users

Block and unblock users from your application

User Management

Create, update, and delete users programmatically

Retrieve Conversations

Fetch conversation lists for your chat UI