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(UID: "UID", GUID: "GUID", scope: .admin, onSuccess: { response in }, onError: { error in })

// Listen for scope change events
// Conform to CometChatGroupDelegate
func onGroupMemberScopeChanged(action: ActionMessage, scopeChangeduser: User, scopeChangedBy: User, scopeChangedTo: String, scopeChangedFrom: String, group: Group) { }
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.
ParameterDescription
UIDThe UID of the member whose scope you want to change
GUIDThe GUID of the group
scopeThe new scope: .admin, .moderator, or .participant
The default scope is .participant. Only Admins can change member scopes.
let guid = "cometchat-guid-1"
let uid = "cometchat-uid-2"
let scope: CometChat.MemberScope = .admin

CometChat.updateGroupMemberScope(UID: uid, GUID: guid, scope: scope, onSuccess: { (response) in
    print("Scope changed: \(response)")
}, onError: { (error) in
    print("Error: \(error?.errorDescription)")
})

Real-Time Scope Change Events

Implement onGroupMemberScopeChanged() in CometChatGroupDelegate to receive real-time notifications when a member’s scope changes.
class ViewController: UIViewController, CometChatGroupDelegate {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        CometChat.groupdelegate = self
    }
    
    func onGroupMemberScopeChanged(action: ActionMessage, scopeChangeduser: User, scopeChangedBy: User, scopeChangedTo: String, scopeChangedFrom: String, group: Group) {
        print("\(scopeChangeduser.name ?? "") scope changed")
        print("From: \(scopeChangedFrom) To: \(scopeChangedTo)")
    }
}
Always remove group delegates when they’re no longer needed. Set delegate in viewDidLoad(): CometChat.groupdelegate = self.

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