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
| Parameter | Type | Description |
|---|---|---|
message | Message | The message to delete. |
handler | OprationHandler<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}');
},
));