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 group members with filters
val groupMembersRequest = GroupMembersRequestBuilder("GUID")
    .setLimit(30)
    .setSearchKeyword("search")
    .setScopes(listOf("admin", "moderator"))
    .build()

groupMembersRequest.fetchNext(object : CallbackListener<List<GroupMember>>() {
    override fun onSuccess(members: List<GroupMember>) { }
    override fun onError(e: CometChatException) { }
})

Retrieve the List of Group Members

Use GroupMembersRequestBuilder with the group’s GUID to configure filters, then call fetchNext(). Each result is a GroupMember object.

Set Limit

Set the number of members to fetch per request.
GroupMembersRequest groupMembersRequest = new GroupMembersRequest.GroupMembersRequestBuilder(GUID)
  .setLimit(limit)
  .build();

Set Search Keyword

Filter members by a search string.
GroupMembersRequest groupMembersRequest = new GroupMembersRequest.GroupMembersRequestBuilder(GUID)
  .setSearchKeyword("abc")
  .build();

Set Scopes

Filter members by scope (e.g., "admin", "moderator", "participant").
List<String> scopes = new ArrayList<>();
scopes.add("admin");
scopes.add("moderator");
GroupMembersRequest groupMembersRequest = new GroupMembersRequest.GroupMembersRequestBuilder(GUID)
  .setScopes(scopes)
  .build();

Fetch Members

After configuring the builder, call build() then fetchNext() to retrieve members.
private GroupMembersRequest groupMembersRequest = null;
private String GUID = "GUID";
private int limit = 30;

groupMembersRequest = new GroupMembersRequest.GroupMembersRequestBuilder(GUID).setLimit(limit).build();

groupMembersRequest.fetchNext(new CometChat.CallbackListener<List<GroupMember>>(){
  @Override
  public void onSuccess(List<GroupMember> list) {
    Log.d(TAG, "Group Member list fetched successfully: " + list.size());
  }
  @Override
  public void onError(CometChatException e) {
    Log.d(TAG, "Group Member list fetching failed with exception: " + e.getMessage());
  }
});  

GroupMember Payload Structure

The GroupMember object extends User and contains all User fields plus group-specific fields:
ParameterTypeDescription
uidStringUnique identifier of the user
nameStringDisplay name of the user
avatarStringURL to user’s profile picture
linkStringURL to user’s profile page
roleStringUser role for access control
metadataJSONObjectCustom data set by developer
statusStringUser online status. Values: "online", "offline"
statusMessageStringCustom status message
lastActiveAtlongUnix timestamp of last activity
hasBlockedMebooleanWhether this user has blocked the logged-in user
blockedByMebooleanWhether the logged-in user has blocked this user
tagsArray<String>List of tags for user identification
deactivatedAtlongUnix timestamp when user was deactivated (0 if active)
scopeStringMember’s scope in the group. Values: "admin", "moderator", "participant"
joinedAtlongUnix timestamp when member joined the group
Sample GroupMember Object:
{
  "uid": "user_123",
  "name": "John Doe",
  "avatar": "https://example.com/avatar.png",
  "link": "https://example.com/profile",
  "role": "default",
  "metadata": {
    "department": "Engineering",
    "title": "Senior Developer"
  },
  "status": "online",
  "statusMessage": "Available",
  "lastActiveAt": 1699900000,
  "hasBlockedMe": false,
  "blockedByMe": false,
  "tags": ["premium", "verified"],
  "deactivatedAt": 0,
  "scope": "admin",
  "joinedAt": 1699850000
}

Next Steps

Add Members

Add new members to groups

Kick Member

Remove members from groups

Change Member Scope

Update member roles and permissions

Retrieve Groups

Fetch list of available groups