Skip to main content

Friend management

Manage friend relationships through the Chat SDK.

Send a friend request

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

const { code } = await NCEngine.userModule.addFriend({
userId: '<target-user-id>',
extra: 'Hi, let\'s connect!',
});
if (code === 0) {
console.log('Friend request sent');
}

Accept a friend request

TypeScript
const { code } = await NCEngine.userModule.acceptFriendApplication('<requester-user-id>');
if (code === 0) {
console.log('Friend request accepted');
}

Reject a friend request

TypeScript
const { code } = await NCEngine.userModule.refuseFriendApplication('<requester-user-id>');
if (code === 0) {
console.log('Friend request rejected');
}

Get the friend list

TypeScript
const { code, data } = await NCEngine.userModule.getFriendsInfo(['<user-id-1>', '<user-id-2>']);
if (code === 0) {
console.log('Friends:', data);
}

Remove a friend

TypeScript
const { code } = await NCEngine.userModule.deleteFriends(['<friend-user-id>']);
if (code === 0) {
console.log('Friend removed');
}

Listen for friendship events

Register a UserHandler to receive friendship-related events:

TypeScript
import {
NCEngine,
UserHandler,
FriendAddEvent,
FriendDeleteEvent,
FriendApplicationStatusChangedEvent,
FriendInfoChangedSyncEvent,
} from '@nexconn/chat';

NCEngine.addUserHandler('friend-handler', new UserHandler({
onFriendAdd(event: FriendAddEvent): void {
console.log('Friend added:', event);
},
onFriendDelete(event: FriendDeleteEvent): void {
console.log('Friend removed:', event);
},
onFriendApplicationStatusChanged(event: FriendApplicationStatusChangedEvent): void {
console.log('Friend application status changed:', event);
},
onFriendCleared({ operationTime }): void {
console.log('Friend list cleared at:', operationTime);
},
onFriendInfoChangedSync(event: FriendInfoChangedSyncEvent): void {
console.log('Friend info synced:', event);
},
}));

Remove the handler when it is no longer needed:

TypeScript
NCEngine.removeUserHandler('friend-handler');
info
  • By default, non-friends can still send messages to each other. Enable Restrict direct messaging to friends in the Console under Chat > Chat settings > Friend to restrict messaging.