Create a Group
Create a Group
In other words, as a logged-in user, how do I create a public, private or password-protected group?
You can create a group using createGroup()
method. This method takes a Group
object as input.
The groupType
needs to be either of the below 3 values:
1.CometChatGroupType.
public (public)
2.CometChatGroupType.
password (password)
3.CometChatGroupType.
private (private)
- Dart
String GUID = "GUID";
String groupName = "Hello Group!";
String groupType = CometChatGroupType.public;
String password = "";
Group _group = Group(guid: GUID, name: groupName, type: groupType);
await CometChat.createGroup(group: _group, onSuccess: (Group group ){
debugPrint("Group Created Successfully : $group ");
}, onError:(CometChatException e) {
debugPrint("Group Creation failed with exception: ${e.message}");
} );
The createGroup()
method takes the following parameters:
Parameter | Description |
---|---|
group | An instance of Group class |
After the successful creation of the group, you will receive an instance of Group
class which contains all the information about the particular group.
Warning
GUID can be alphanumeric with underscore and hyphen. Spaces, punctuation and other special characters are not allowed.
Group Class
Field | Editable | Information |
---|---|---|
guid | Needs to be specified at group creation. Cannot be edited later | A unique identifier for a group |
name | Yes | Name of the group |
type | No | Type of the group: Can be 1. Public 2. Password 3. Private |
password | No | Password for the group in case the group is of type password. |
icon | Yes | An URL to group icon |
description | Yes | Description about the group |
owner | Yes | UID of the owner of the group. |
metadata | Yes | Additional data for the group as JSON |
createdAt | No | The unix timestamp of the time the group was created |
updatedAt | No | The unix timestamp of the time the group was last updated |
hasJoined | No | A boolean to determine if the logged in user is a member of the group. |
joinedAt | No | The unix timestamp of the time the logged in user joined the group. |
scope | Yes | Scope of the logged in user. Can be: 1. Admin 2. Moderator 3. Participant |
membersCount | No | The number of members in the groups |
tags | Yes | A list of tags to identify specific groups. |