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.

// Change member scope (admin only)
CometChat.updateGroupMemberScope(
    "UID", 
    "GUID", 
    CometChatConstants.SCOPE_MODERATOR,
    object : CallbackListener<String>() {
        override fun onSuccess(message: String) { }
        override fun onError(e: CometChatException) { }
    })
Available Scopes:
  • SCOPE_ADMIN - Full control over group
  • SCOPE_MODERATOR - Can moderate members and content
  • SCOPE_PARTICIPANT - Regular member (default)
Note: Only group admins can change member scopes.

Change Scope of a Group Member

Use updateGroupMemberScope() to change a member’s role. Only group Admins can change scopes.
private String GUID = "GUID";
private String UID = "UID";
private String scope = CometChatConstants.SCOPE_ADMIN;

CometChat.updateGroupMemberScope(UID, GUID, scope, new CometChat.CallbackListener<String>() {
  @Override
  public void onSuccess(String successMessage) {
    Log.d(TAG, "User scope updated successfully");
  }

  @Override
  public void onError(CometChatException e) {
    Log.d(TAG, "User scope update failed with exception: " + e.getMessage());
  }
});
This method takes the below parameters:
ParameterDescription
UIDThe UID of the member whose scope you would like to change
GUIDThe GUID of the group for which the member’s scope needs to be changed
scopethe updated scope of the member. This can be either of the 3 values: 1.CometChatConstants.SCOPE_ADMIN (admin) 2.CometChatConstants.SCOPE_MODERATOR (moderator) 3.CometChatConstants.SCOPE_PARTICIPANT (participant)
The default scope of any member is participant. Only the Admin of the group can change the scope of any participant in the group.

Real-Time Group Member Scope Changed Events

When a member’s scope changes, group members receive a real-time event in onGroupMemberScopeChanged() of the GroupListener class. The callback provides an Action object, the updating User, the updated User, and the Group.
CometChat.addGroupListener(YourActivity.class.getSimpleName(), new CometChat.GroupListener() {
  @Override
  public void onGroupMemberScopeChanged(Action action, User updatedBy, User updatedUser, String scopeChangedTo, String scopeChangedFrom, Group group) {

  }
});

Missed Group Member Scope Changed Events

When fetching message history, scope changes appear as Action messages with these fields:
  1. action - scopeChanged
  2. actionOn - User object containing the details of the user whos scope has been changed
  3. actionBy - User object containing the details of the user who changed the scope of the member
  4. actionFor - Group object containing the details of the group in which the member scope was changed
  5. oldScope - The original scope of the member
  6. newScope - The updated scope of the member
Always remove group listeners when they’re no longer needed (e.g., in onDestroy() or when navigating away). Failing to remove listeners can cause memory leaks and duplicate event handling.

Next Steps

Add Members

Add new members with specific scopes

Kick Member

Remove members from groups

Transfer Ownership

Transfer group ownership to another admin

Retrieve Members

Fetch list of group members