Skip to main content

Recall a message

Delete a message

Delete a sent message for everyone by calling BaseChannel.deleteMessageForAll(). Only successfully sent messages can be deleted.

By default, Nexconn does not restrict who can recall messages. To add restrictions, consider these options:

  • Implement client-side restrictions. For example, prevent regular users from recalling others' messages while allowing admins to recall any message.
  • Submit a ticket to enable Chat SDK only allows recalling your own messages on the server side.

Method

Dart
static Future<int> deleteMessageForAll(Message message, OprationHandler<Message> handler)

Parameters

ParameterTypeDescription
messageMessageThe message to delete.
handlerOprationHandler<Message>Callback receiving (message, error). The current Flutter wrapper reports status through error and passes null for message.

Code example

Dart
await BaseChannel.deleteMessageForAll(
message,
(_, error) {
if (error == null) {
print('Message recalled successfully');
}
},
);

Listen for message deletion events

Monitor when a received message is deleted by the sender.

Dart
NCEngine.addMessageHandler('recall-handler', MessageHandler(
onMessageDeleted: (event) {
print('Recalled messages: ${event.messages?.length}');
},
));