Skip to main content
Who can delete: Message sender, Group admin, Group moderator Deleted fields: deletedAt (timestamp), deletedBy (user who deleted)
This operation is irreversible. Deleted messages cannot be recovered.
Deleting a message is straightforward. Receiving delete events has two parts:
  1. Adding a listener for real-time deletes when your app is running
  2. Fetching missed deletes when your app was offline

Delete a Message

Use deleteMessage() with the message ID.
The deleted message object is returned with deletedAt (timestamp) and deletedBy (UID of deleter) fields set. The deleteMessage() method returns a BaseMessage object. Relevant fields to access on the returned message: Message deletion in CometChat is controlled by -

Real-time Message Delete Events

Use onMessageDeleted in MessageListener to receive real-time delete events.
The onMessageDeleted callback receives a BaseMessage object with the deletedAt and deletedBy fields set. Relevant fields to access on the returned message:

Missed Message Delete Events

When fetching message history, deleted messages have deletedAt and deletedBy fields set. Additionally, an Action message is created when a message is deleted. The Action object contains:
  • actiondeleted
  • actionOn — Deleted message object
  • actionBy — User who deleted the message
  • actionFor — Receiver (User/Group)
You must be the message sender or a group admin/moderator to delete a message.
Always remove message listeners when they’re no longer needed to prevent memory leaks.

Next Steps

Edit a Message

Edit sent messages in conversations

Send Messages

Send text, media, and custom messages

Receive Messages

Listen for incoming messages in real-time

Flag a Message

Report inappropriate messages