Delete messages
Delete messages from your own view in a channel.
Delete messages (for yourself only)
Remove messages from your own view. Other participants still see the messages:
TypeScript
import { DirectChannel, BaseChannel, Message } from '@nexconn/chat';
const channel = new DirectChannel('<target-user-id>');
// First, retrieve the message objects you want to delete
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) {
// Pass Message objects to deleteMessagesForMe
const { code: deleteCode } = await channel.deleteMessagesForMe([page.data[0]]);
if (deleteCode === 0) {
console.log('Message deleted for self');
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
messages | Message<any>[] | Yes | Message objects to delete for the current user |
Return value
| Field | Type | Description |
|---|---|---|
isOk | boolean | Whether the delete request succeeded |
code | number | Status code. 0 means success. |
Delete a message for all participants
Remove a single message for everyone in the channel:
TypeScript
import { DirectChannel, BaseChannel } from '@nexconn/chat';
const channel = new DirectChannel('<target-user-id>');
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: deleteCode } = await channel.deleteMessageForAll(page.data[0]);
if (deleteCode === 0) {
console.log('Message deleted for all participants');
}
}
Delete messages by timestamp
Delete all messages in a channel before a given timestamp from your own view only:
TypeScript
import { DirectChannel } from '@nexconn/chat';
const channel = new DirectChannel('<target-user-id>');
const { code } = await channel.deleteMessagesForMeByTimestamp({ timestamp: Date.now() });
if (code === 0) {
console.log('Messages cleared');
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
timestamp | number | Yes | Clear messages sent before this Unix timestamp in milliseconds |
warning
deleteMessagesForMeonly removes the message from the current user's view. Other participants are not affected.deleteMessageForAllremoves one message for all participants in the channel.deleteMessagesForMeByTimestampclears messages before the specified timestamp only for the current user.