AI Agent Component Spec
AI Agent Component Spec
| Field | Value |
|---|---|
| Package | @cometchat/chat-uikit-react |
| Key components | CometChatGroups, CometChatGroupMembers, CometChatCreateGroup, CometChatJoinGroup, CometChatAddMembers, CometChatBannedMembers, CometChatTransferOwnership |
| Init | CometChatUIKit.init(UIKitSettings) then CometChatUIKit.login("UID") |
| Features | Create public/private/password-protected groups, manage members, roles, ownership transfer |
| Sample app | GitHub |
| Related | All Guides |
Components
| Component / Class | Role |
|---|---|
CometChatCreateGroup | Creates new groups with different types and settings |
CometChatJoinGroup | Handles joining public and password-protected groups |
CometChatGroupMembers | Displays and manages group member lists |
CometChatAddMembers | Adds new members to existing groups |
CometChatBannedMembers | Manages banned members and unban operations |
CometChatTransferOwnership | Transfers group ownership to other members |
Integration Steps
1. Create Group
Build a form that collects a group name, type (public/private/password), and optional password. On submit, generate a unique GUID, callCometChat.createGroup(), and emit ccGroupCreated so the rest of the UI updates.
File: CometChatCreateGroup.tsx
2. Join Group
Handle joining for both public and password-protected groups. CallCometChat.joinGroup() with the group’s GUID, type, and password (if applicable). On success, emit ccGroupMemberJoined to update the member list across the app.
File: CometChatJoinGroup.tsx
3. View Group Members
Render the member list for a group usingCometChatGroupMembers. Pass onItemClick to handle member selection and options to add context-menu actions like “View Profile”.
File: CometChatHome.tsx
4. Add Members
Let admins select users and add them to the group. Collect selected UIDs, callCometChat.addMembersToGroup(), and emit ccGroupMemberAdded so the member list refreshes.
File: CometChatAddMembers.tsx
5. Ban Members
Fetch the list of banned members usingBannedMembersRequestBuilder. This component displays banned users and provides unban functionality for group admins.
File: CometChatBannedMembers.tsx
6. Change Member Scope
Promote or demote a member by callingCometChat.updateGroupMemberScope(). Pass the member’s UID, the new scope (admin, moderator, or participant), and the group GUID. Emit ccGroupMemberScopeChanged so the UI reflects the role change.
File: CometChatHome.tsx
7. Transfer Ownership
Let the current owner select a member and transfer ownership viaCometChat.transferGroupOwnership(). The group object is cloned and updated locally, then ccOwnershipChanged is emitted to sync the UI.
File: CometChatTransferOwnership.tsx
Feature Matrix
| Feature | Component / Method | File |
|---|---|---|
| Create group | CometChatCreateGroup | CometChatCreateGroup.tsx |
| Join group | CometChatJoinGroup | CometChatJoinGroup.tsx |
| View members | CometChatGroupMembers | CometChatHome.tsx |
| Add members | CometChatAddMembers | CometChatAddMembers.tsx |
| Ban members | CometChatBannedMembers | CometChatBannedMembers.tsx |
| Change scope | updateGroupMemberScope() | CometChatHome.tsx |
| Transfer ownership | CometChatTransferOwnership | CometChatTransferOwnership.tsx |
| Group events | CometChatGroupEvents | Multiple files |