Documentation Index Fetch the complete documentation index at: https://www.cometchat.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
AI Integration Quick Reference
// 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.
Parameter Description 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 ) " )
}
}
@interface ViewController ()<CometChatGroupDelegate>
@end
@implementation ViewController
- ( void ) viewDidLoad {
[ super viewDidLoad ];
[CometChat setGroupdelegate: self ];
}
- ( void ) onGroupMemberScopeChangedWithAction: (Action * ) action user: (User * ) user scopeChangedTo: ( NSString * ) scopeChangedTo scopeChangedFrom: ( NSString * ) scopeChangedFrom group: (Group * ) group {
// User scope changed
}
@end
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 ).
Field Value/Type Description 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