Skip to main content

Delete a message (recall)

Delete a message in a community subchannel to remove it from all participants' message history.

Delete a message

Use channel.deleteMessageForAll(message), passing the Message object:

TypeScript
import { CommunitySubChannel, BaseChannel, Message } from '@nexconn/chat';

const channel = new CommunitySubChannel('<communityId>', '<subChannelId>');

// First retrieve the message object you want to recall
const query = BaseChannel.createMessagesQuery({
channelIdentifier: channel.identifier,
startTime: Date.now(),
pageSize: 20,
isAscending: false,
});
const { code, data: page } = await query.loadNextPage();

if (code === 0 && page.data.length > 0) {
const { code: recallCode } = await channel.deleteMessageForAll(page.data[0]);
if (recallCode === 0) {
console.log('Message recalled');
} else {
console.log('Recall failed. Code:', recallCode);
}
}

Handle deletion notifications

When a message is deleted, all connected users receive a notification:

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

NCEngine.addMessageHandler('community-recall-handler', new MessageHandler({
onMessageDeleted({ messages }): void {
messages.forEach((msg) => {
console.log('Message recalled:', msg.messageId);
});
},
}));
info
  • By default, only the message sender can delete their own messages.
  • Admins can be granted deletion permissions through server-side configuration.