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
- Java
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")
}
}
Java
DirectChannel channel = new DirectChannel("userId");
List<Message> messages = Collections.singletonList(message);
channel.deleteMessagesForMe(messages, new ErrorHandler() {
@Override
public void onResult(NCError error) {
if (error == null) {
Log.d("Delete", "Message deleted");
} else {
Log.e("Delete", "Failed: " + error.getMessage());
}
}
});
Delete for everyone
Use deleteMessageForAll() to recall a message. All participants see the message as deleted.
- Kotlin
- Java
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}")
}
}
Java
DirectChannel channel = new DirectChannel("userId");
channel.deleteMessageForAll(message, (updatedMessage, error) -> {
if (error == null) {
Log.d("Recall", "Message deleted for everyone");
}
});
Parameters
deleteMessagesForMe
| Parameter | Type | Description |
|---|---|---|
messages | List<Message> | The messages to delete. |
handler | ErrorHandler | The completion callback. |
deleteMessageForAll
| Parameter | Type | Description |
|---|---|---|
message | Message | The message to delete for everyone. |
handler | OperationHandler<Message?> | Callback returning the updated message on success. |
Important notes
deleteMessagesForMeonly affects the current user's history.deleteMessageForAllrecalls the message for all participants.- Recall typically has a time limit (e.g., 2 minutes), configurable on the server.