Skip to main content

Group management

Manage group lifecycle operations such as creating, dismissing, and transferring ownership.

Create a group

TypeScript
import { GroupChannel } from '@nexconn/chat';

const { code, data: channel } = await GroupChannel.createGroup({
groupId: 'my-group-id', // Optional; if omitted, server generates an ID
groupName: 'My Group',
inviteeUserIds: ['user1', 'user2', 'user3'],
portraitUri: 'https://example.com/portrait.jpg',
});
if (code === 0) {
console.log('Group created:', channel);
}

Dismiss a group

Only the group owner can dismiss a group:

TypeScript
import { GroupChannel } from '@nexconn/chat';

const channel = new GroupChannel('<group-id>');
const { code } = await channel.dismiss();
if (code === 0) {
console.log('Group dismissed');
}

Transfer group ownership

Transfer the group owner role to another member:

TypeScript
import { GroupChannel } from '@nexconn/chat';

const channel = new GroupChannel('<group-id>');
const { code } = await channel.transferOwner({
newOwnerId: '<new-owner-user-id>',
});
if (code === 0) {
console.log('Ownership transferred');
}

Kick members from a group

TypeScript
import { GroupChannel } from '@nexconn/chat';

const channel = new GroupChannel('<group-id>');
const { code } = await channel.kickMembers({
userIds: ['user1', 'user2'],
});
if (code === 0) {
console.log('Members kicked');
}

Leave a group

TypeScript
import { GroupChannel } from '@nexconn/chat';

const channel = new GroupChannel('<group-id>');
const { code } = await channel.leave();
if (code === 0) {
console.log('Left group');
}
info

Management operations other than member management (e.g., updating group info, configuring join settings) are handled through the Server API.