Quick Reference for AI Agents & Developers// Add members with different scopes
const members = [
new CometChat.GroupMember("user1", CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT),
new CometChat.GroupMember("user2", CometChat.GROUP_MEMBER_SCOPE.MODERATOR),
new CometChat.GroupMember("user3", CometChat.GROUP_MEMBER_SCOPE.ADMIN)
];
const banMembers = []; // Optional: UIDs to ban
await CometChat.addMembersToGroup("group_guid", members, banMembers);
// Listen for member added events
CometChat.addGroupListener("LISTENER", new CometChat.GroupListener({
onMemberAddedToGroup: (msg, userAdded, userAddedBy, group) => {
console.log(userAddedBy.getName(), "added", userAdded.getName());
}
}));
Add users to a group as participants, moderators, or admins.
Availability: SDK, API, UI KitsOnly admins and moderators can add members to a group.
Add Members
JavaScript
TypeScript
Async/Await
const GUID = "group-123";
const members = [
new CometChat.GroupMember("user1", CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT),
new CometChat.GroupMember("user2", CometChat.GROUP_MEMBER_SCOPE.MODERATOR),
new CometChat.GroupMember("user3", CometChat.GROUP_MEMBER_SCOPE.ADMIN)
];
const banMembers = []; // UIDs to ban (optional)
CometChat.addMembersToGroup(GUID, members, banMembers).then(
(response) => {
console.log("Members added:", response);
// { user1: "success", user2: "success", user3: "success" }
},
(error) => console.log("Failed:", error)
);
const GUID: string = "group-123";
const members: CometChat.GroupMember[] = [
new CometChat.GroupMember("user1", CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT),
new CometChat.GroupMember("user2", CometChat.GROUP_MEMBER_SCOPE.MODERATOR)
];
const banMembers: string[] = [];
CometChat.addMembersToGroup(GUID, members, banMembers).then(
(response: Object) => console.log("Members added:", response),
(error: CometChat.CometChatException) => console.log("Failed:", error)
);
const addMembers = async () => {
try {
const GUID = "group-123";
const members = [
new CometChat.GroupMember("user1", CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT),
new CometChat.GroupMember("user2", CometChat.GROUP_MEMBER_SCOPE.MODERATOR),
new CometChat.GroupMember("user3", CometChat.GROUP_MEMBER_SCOPE.ADMIN)
];
const banMembers = []; // UIDs to ban (optional)
const response = await CometChat.addMembersToGroup(GUID, members, banMembers);
console.log("Members added:", response);
// { user1: "success", user2: "success", user3: "success" }
} catch (error) {
console.log("Failed:", error);
}
};
Member Scopes
| Scope | Description |
|---|
PARTICIPANT | Regular member |
MODERATOR | Can manage participants |
ADMIN | Full control |
Add and Ban in One Call
Add some users while banning others:
const GUID = "group-123";
const members = [
new CometChat.GroupMember("user1", CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT)
];
const banMembers = ["user4", "user5"]; // UIDs to ban
CometChat.addMembersToGroup(GUID, members, banMembers).then(
(response) => console.log("Result:", response),
(error) => console.log("Failed:", error)
);
Real-Time Member Added Events
Listen for when members are added:
const listenerID = "GROUP_LISTENER";
CometChat.addGroupListener(
listenerID,
new CometChat.GroupListener({
onMemberAddedToGroup: (message, userAdded, userAddedBy, userAddedIn) => {
console.log(`${userAddedBy.getName()} added ${userAdded.getName()}`);
}
})
);
// Remove listener when done
CometChat.removeGroupListener(listenerID);
Missed Member Added Events
When fetching message history, member additions appear as Action messages:
messages.forEach((message) => {
if (message.getCategory() === "action" && message.getAction() === "added") {
const addedUser = message.getActionOn();
const addedBy = message.getActionBy();
console.log(`${addedBy.getName()} added ${addedUser.getName()}`);
}
});
Next Steps