Skip to main content

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.

// Create a group
let group = Group(guid: "GUID", name: "Group Name", groupType: .public, password: nil)
CometChat.createGroup(group: group,
    onSuccess: { group in }, onError: { error in })

// Create group with members
let members = [GroupMember(UID: "UID", groupMemberScope: .participant)]
CometChat.createGroupWithMembers(group: group, members: members, banMembers: [],
    onSuccess: { response in }, onError: { error in })
Group types: .public | .password | .private Member scopes: .admin | .moderator | .participant
Create groups for multi-user conversations. You can create a group on its own with createGroup(), or create one and add members in a single call with createGroupWithMembers(). See the Group Class reference at the bottom for all available fields.

Create a Group

Use createGroup() to create a new group. Pass a Group object with the group details.
Group TypeConstantDescription
Public.publicAny user can join
Password.passwordUsers must provide the correct password
Private.privateUsers must be added by an admin/moderator
let guid = "cometchat-guid-11"
let groupName = "TestGroup1"
let password = "" // mandatory in case of password protected group type

let group = Group(guid: guid, name: groupName, groupType: .private, password: password)

CometChat.createGroup(group: group, onSuccess: { (group) in
    print("Group created successfully. " + group.stringValue())
}, onError: { (error) in
    print("Group creation failed with error:" + error!.errorDescription)
})
ParameterDescription
groupAn instance of Group class
On success, returns a Group object with the created group’s details.
GUID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.

Add Members While Creating a Group

Use createGroupWithMembers() to create a group and add members in one operation. Parameters:
  • group — The Group object
  • members — Array of GroupMember objects to add
  • banMembers — Array of UIDs to ban (can be empty)
Create a GroupMember with: GroupMember(UID:groupMemberScope:)
let group = Group(guid: "cometchat-uid-group1", name: "Hello Group", groupType: .public, password: nil)

let members = [
    GroupMember(UID: "cometchat-uid-4", groupMemberScope: .participant)
]

let banMembers = ["cometchat-uid-2"]

CometChat.createGroupWithMembers(group: group, members: members, banMembers: banMembers, onSuccess: { response in
    print("Group created successfully", response)
}, onError: { (error) in
    print("Error: \(String(describing: error?.errorDescription))")
})
Returns an object with two keys:
  • group — The created Group object
  • members — Object with UIDs as keys and "success" or error message as values

Group Class

The Group object has the following fields. Fields marked “Yes” in the Editable column can be modified after creation using updateGroup().
FieldEditableInformation
guidNeeds to be specified at group creation. Cannot be edited laterA unique identifier for a group
nameYesName of the group
typeNoType of the group: Can be 1. Public 2. Password 3. Private
passwordNoPassword for the group in case the group is of type password.
iconYesAn URL to group icon
descriptionYesDescription about the group
ownerYesUID of the owner of the group.
metadataYesAdditional data for the group as Dictionary
createdAtNoThe unix timestamp of the time the group was created
updatedAtNoThe unix timestamp of the time the group was last updated
hasJoinedNoA boolean to determine if the logged in user is a member of the group.
joinedAtNoThe unix timestamp of the time the logged in user joined the group.
scopeYesScope of the logged in user. Can be: 1. Admin 2. Moderator 3. Participant
membersCountNoThe number of members in the groups
tagsYesA list of tags to identify specific groups.

Next Steps

Join a Group

Join public, private, or password-protected groups

Add Members

Add users to an existing group

Retrieve Groups

Fetch and filter group lists

Groups Overview

Overview of all group management features