Skip to main content

Delete messages

The Nexconn SDK supports two ways to delete messages:

  • Delete for me: Remove messages from the current user's history only.
  • Delete for everyone: Remove a message from all participants' history (recall).

Delete for me

Use deleteMessagesForMe() to remove messages from the current user's history.

kotlin
val channel = DirectChannel("userId")

channel.deleteMessagesForMe(listOf(message)) { error ->
if (error == null) {
Log.d("Delete", "Message deleted")
} else {
Log.e("Delete", "Failed: ${error.message}")
}
}

// Delete multiple messages
val messages = listOf(message1, message2, message3)
channel.deleteMessagesForMe(messages) { error ->
if (error == null) {
Log.d("Delete", "Batch delete succeeded")
}
}

Delete for everyone

Use deleteMessageForAll() to recall a message. All participants see the message as deleted.

kotlin
val channel = DirectChannel("userId")

channel.deleteMessageForAll(message) { updatedMessage, error ->
if (error == null) {
Log.d("Recall", "Message deleted for everyone")
} else {
Log.e("Recall", "Failed: ${error.message}")
}
}

Parameters

deleteMessagesForMe

ParameterTypeDescription
messagesList<Message>The messages to delete.
handlerErrorHandlerThe completion callback.

deleteMessageForAll

ParameterTypeDescription
messageMessageThe message to delete for everyone.
handlerOperationHandler<Message?>Callback returning the updated message on success.

Important notes

  • deleteMessagesForMe only affects the current user's history.
  • deleteMessageForAll recalls the message for all participants.
  • Recall typically has a time limit (e.g., 2 minutes), configurable on the server.