Skip to main content
// Change member scope to admin
await CometChat.updateGroupMemberScope("GUID", "UID", CometChat.GROUP_MEMBER_SCOPE.ADMIN);

// Listen for scope change events
CometChat.addGroupListener("listener", new CometChat.GroupListener({
  onGroupMemberScopeChanged: (message, changedUser, newScope, oldScope, changedGroup) => { }
}));
Promote or demote group members between admin, moderator, and participant scopes. Only admins can change member scopes, and only the group owner can change admin scopes.

Change Scope of a Group Member

Use updateGroupMemberScope() to change a member’s scope within a Group.
let GUID: string = "GUID";
let UID: string = "UID";


CometChat.updateGroupMemberScope(GUID, UID, CometChat.GROUP_MEMBER_SCOPE.ADMIN).then(
  (response: boolean) => {
      console.log("Group member scope changed", response);
  }, (error: CometChat.CometChatException) => {
      console.log("Group member scope change failed", error);
  }
);
This method takes the below parameters:
ParameterDescription
UIDThe UID of the member whose scope you want to change
GUIDThe GUID of the group
scopeThe new scope: CometChat.GROUP_MEMBER_SCOPE.ADMIN, CometChat.GROUP_MEMBER_SCOPE.MODERATOR, or CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT
The default scope is participant. Only Admins can change member scopes. On success, the method resolves with true (boolean).

Real-Time Group Member Scope Changed Events

Implement onGroupMemberScopeChanged() in GroupListener to receive real-time notifications when a member’s scope changes.
let listenerID: string = "UNIQUE_LISTENER_ID";

CometChat.addGroupListener(
  listenerID,
  new CometChat.GroupListener({
      onGroupMemberScopeChanged: (message: CometChat.Action, changedUser: CometChat.User, newScope: string, oldScope: string, changedGroup: CometChat.Group) => {
          console.log("Scope changed", { message, changedUser, newScope, oldScope, changedGroup });
      }
  })
);
Always remove group listeners when they’re no longer needed (e.g., on component unmount or page navigation). Failing to remove listeners can cause memory leaks and duplicate event handling.
CometChat.removeGroupListener("UNIQUE_LISTENER_ID");

Missed Group Member Scope Changed Events

When fetching previous messages, scope changes appear as Action messages (a subclass of BaseMessage).
FieldValue/TypeDescription
action"scopeChanged"The action type
actionOnUserThe user whose scope changed
actionByUserThe user who changed the scope
actionForGroupThe group
oldScopestringThe previous scope
newScopestringThe new scope

Next Steps

Transfer Group Ownership

Transfer ownership of a group to another member

Kick & Ban Members

Remove or ban members from a group

Add Members

Add new members to a group

Retrieve Group Members

Fetch the list of members in a group