Skip to main content
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

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)
);

Member Scopes

ScopeDescription
PARTICIPANTRegular member
MODERATORCan manage participants
ADMINFull 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