You can get the details of the logged-in user using the getLoggedInUser() method. This method can also be used to check if the user is logged in or not. If the method returns Promise with reject callback, it indicates that the user is not logged in and you need to log the user into CometChat SDK.
Get Logged In User Details
// Fetch users listconst request = new CometChat.UsersRequestBuilder() .setLimit(30).build();const users = await request.fetchNext();// Get specific user detailsconst user = await CometChat.getUser("UID");// Get logged-in userconst me = await CometChat.getLoggedinUser();// Get online user countconst count = await CometChat.getOnlineUserCount();
The CometChat SDK provides methods to retrieve the logged-in user, fetch filtered user lists, look up individual users by UID, and get online user counts. All user methods return User objects.
In order to fetch the list of users, you can use the UsersRequest class. To use this class i.e to create an object of the UsersRequest class, you need to use the UsersRequestBuilder class. The UsersRequestBuilder class allows you to set the parameters based on which the users are to be fetched.Fetching using this builder will return User objectsThe UsersRequestBuilder class allows you to set the below parameters:
CometChat.USER_STATUS.OFFLINE — Only offline users
If not set, returns all users.
TypeScript
JavaScript
let limit: number = 30;let usersRequest: CometChat.UsersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) .setStatus(CometChat.USER_STATUS.ONLINE) .build();
let limit = 30;let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) .setStatus(CometChat.USER_STATUS.ONLINE) .build();
When true, excludes users blocked by the logged-in user from the results.
TypeScript
JavaScript
let limit: number = 30;let usersRequest: CometChat.UsersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) .hideBlockedUsers(true) .build();
let limit = 30;let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) .hideBlockedUsers(true) .build();
Sets the sort order. Default is ascending ("asc"). Use "desc" for descending.
TypeScript
JavaScript
let limit: number = 30;let sortOrder: string = "desc";let usersRequest: CometChat.UsersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) .sortByOrder(sortOrder) .build();
let limit = 30;let sortOrder = "desc";let usersRequest = new CometChat.UsersRequestBuilder() .setLimit(limit) .sortByOrder(sortOrder) .build();
After configuring the builder, call build() to get the UsersRequest object, then call fetchNext() to retrieve users.
TypeScript
JavaScript
let limit: number = 30;let usersRequest: CometChat.UsersRequest = new CometChat.UsersRequestBuilder().setLimit(limit).build();usersRequest.fetchNext().then((userList: CometChat.User[]) => {console.log("User list received:", userList);}, (error: CometChat.CometChatException) => {console.log("User list fetching failed with error:", error);});
const limit = 30;const usersRequest = new CometChat.UsersRequestBuilder().setLimit(limit).build();usersRequest.fetchNext().then(userList => { console.log("User list received:", userList);}, error => { console.log("User list fetching failed with error:", error);});
The fetchNext() method returns an array of User objects.