You can add members to the group using the addMembersToGroup() method. This method takes the below parameters:
GUID - GUID of the group the members are to be added to.
Array<GroupMember> members - This is a list of GroupMember objects. In order to add members, you need to create an object of the GroupMember class. The UID and the scope of the GroupMember are mandatory.
Array<String> bannedMembers - This is the list of UIDs that need to be banned from the Group. This can be set to nil if there are no members to be banned.
Callback.
Swift
Objective C
Report incorrect code
Copy
Ask AI
let grpmem1 = GroupMember(UID: "member1", groupMemberScope: .participant)let grpmem2 = GroupMember(UID: "member2", groupMemberScope: .participant)let grpmem3 = GroupMember(UID: "member3", groupMemberScope: .admin)let grpmem4 = GroupMember(UID: "member4", groupMemberScope: .admin)let grpmem5 = GroupMember(UID: "member5", groupMemberScope: .moderator)CometChat.addMembersToGroup(guid: "mygroup", groupMembers: [grpmem1, grpmem2, grpmem3, grpmem4, grpmem5], onSuccess: { (response) in print("Response from addMembersGroup: \\(response)")}, onError : { (error) in print("Adding member in a group failed with error: \\(String(describing: error?.errorDescription))")})
In the onSuccess() callback, you will receive a dictionary which will contain the UID of the users and the value will either be success or an error message describing why the operation to add the user to the group or ban the user failed.
Sample Payload - addMembersToGroup() Request
Method Signature:
Parameter
Type
Description
guid
String
Unique group identifier. Example: "cometchat-guid-1"
To receive Real-Time Events for the same, you need to implement the onMemberAddedToGroup() method of the GroupListener class.
When a group member is added by another member, this event is triggered. When a user joins a group on their own, the joined event is triggered.
onMemberAddedToGroup() - This method is triggered when other users are added to the group so that the logged in user is informed of the other members added to the group or this method is triggered when the LoggedIn User is added to the Group.
Swift
Objective C
Report incorrect code
Copy
Ask AI
extension AppDelegate: CometChatGroupDelegate { func onMemberAddedToGroup(action: ActionMessage, addedBy: User, addedUser: User, addedTo: Group) { //When any member is added in the group this function will be called }}
Report incorrect code
Copy
Ask AI
@interface ViewController ()<CometChatGroupDelegate>@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; [CometChat setGroupdelegate:self];}- (void)onMemberAddedToGroup:(Action *)action addedBy:(User * _Nonnull)addedBy addedUser:(User * _Nonnull)addedUser addedTo:(Group * _Nonnull)addedTo { //When any member is added in the group this function will be called}@end
Sample Payload - onMemberAddedToGroup Event
Event Trigger: Received via CometChatGroupDelegate.onMemberAddedToGroup(action:addedBy:addedUser:addedTo:)ActionMessage Object:
In other words, as a member of a group, how do I know when someone is added to the group when my app is not running?When you retrieve the list of previous messages if a member has been added to any group that the logged-in user is a member of, the list of messages will contain an Action message. An Action message is a sub-class of BaseMessage class.For the group member added event, in the Action object received, the following fields can help you get the relevant information-
action - added
actionOn - User object containing the details of the user who was added to the group.
actionBy - User object containing the details of the user who added the member to the group.
actionFor - Group object containing the details of the group to which the member was added.
When members are successfully added, the onSuccess callback returns a dictionary with results for each user:
Swift
Report incorrect code
Copy
Ask AI
CometChat.addMembersToGroup(guid: "mygroup", groupMembers: [grpmem1, grpmem2], onSuccess: { (response) in // response: [String: Any] - Dictionary with UID as key and result as value print("Response: \(response)") // Example response: // ["member1": "success", "member2": "success", "member3": "ERR_ALREADY_JOINED"] // Iterate through results for (uid, result) in response { if let resultString = result as? String { if resultString == "success" { print("\(uid) added successfully") } else { print("\(uid) failed: \(resultString)") } } }}, onError: { (error) in // Handle error})
When the operation fails entirely, the onError callback returns a CometChatException:
Swift
Report incorrect code
Copy
Ask AI
CometChat.addMembersToGroup(guid: "mygroup", groupMembers: members, onSuccess: { (response) in // Success}, onError: { (error) in print("Error Code: \(error?.errorCode ?? "")") print("Error Description: \(error?.errorDescription ?? "")") // Handle specific errors switch error?.errorCode { case "ERR_GROUP_NOT_FOUND": // Group does not exist break case "ERR_PERMISSION_DENIED": // User is not admin/owner break case "ERR_EMPTY_MEMBER_LIST": // No members provided break default: break }})