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 to admin
CometChat.updateGroupMemberScope(
  guid: "GROUP_ID",
  uid: "USER_ID",
  scope: CometChatMemberScope.admin,
  onSuccess: (String message) => debugPrint("Scope updated: $message"),
  onError: (CometChatException e) => debugPrint("Error: ${e.message}"),
);

// Listen for scope change events
CometChat.addGroupListener("listener_id", GroupListenerImpl());

// Scopes: CometChatMemberScope.admin, .moderator, .participant
Promote or demote group members between admin, moderator, and participant roles. 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 role within a Group.
Available via: SDK | REST API | UI Kits
String UID = "UID";
String GUID = "GUID";
String scope = CometChatMemberScope.admin;

CometChat.updateGroupMemberScope(guid: GUID, uid: UID, scope: scope,
        onSuccess: (String message) {
          debugPrint("Group Member Scope Changed Successfully : $message");
        },
        onError: (CometChatException e) {
          debugPrint("Group Member Scope Change failed : ${e.message}");
        });
This method takes the below parameters:
ParameterTypeDescription
guidStringThe GUID of the group for which the member’s scope needs to be changed
uidStringThe UID of the member whose scope you would like to change
scopeStringThe updated scope: CometChatMemberScope.admin, CometChatMemberScope.moderator, or CometChatMemberScope.participant
onSuccessFunction(String)Callback triggered on successful scope change
onErrorFunction(CometChatException)Callback triggered on error
The default scope of any member is participant. Only the Admin of the group can change the scope of any participant in the group.
On Success — A String message confirming the scope change:
ParameterTypeDescriptionSample Value
messagestringSuccess confirmation message"cometchat-guid-1 scope changed successfully"
ParameterTypeDescriptionSample Value
codestringError code identifier"ERR_NOT_A_MEMBER"
messagestringHuman-readable error message"The user is not a member of this group."
detailsstringAdditional technical details"Cannot change scope for a user who is not a member of the group."

Real-Time Group Member Scope Changed Events

Implement onGroupMemberScopeChanged() in GroupListener to receive real-time notifications when a member’s scope changes.
class Class_Name  with GroupListener {

//CometChat.addGroupListener("group_Listener_id", this);
@override
void onGroupMemberScopeChanged(Action action, User updatedBy, User updatedUser, String scopeChangedTo, String scopeChangedFrom, Group group) {
  print("onGroupMemberScopeChanged ");

}
}
Always remove group listeners when they’re no longer needed (e.g., in the dispose() method). Failing to remove listeners can cause memory leaks and duplicate event handling.
CometChat.removeGroupListener("group_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