Skip to main content

Update a message

The Chat SDK supports modifying the content of all storable message types, including text, image, GIF, voice, video, reference, file, and custom messages.

Modify a message

In Swift, call BaseChannel.modifyMessage(params:completion:) to update message content. The Objective-C selector is shown in the secondary tab.

swift
import NexconnChatSDK

guard let messageContent = message.content as? TextMessage else {
return
}

messageContent.text = "Updated text"

let params = ModifyMessageParams(
messageId: message.messageId,
content: messageContent
)

BaseChannel.modifyMessage(params: params) { updatedMessage, error in
guard let updatedMessage, error == nil else {
print("Failed to modify message: \(error?.localizedDescription ?? "unknown error")")
return
}

print("Modified message: \(updatedMessage.messageId)")
}
PropertyTypeDescription
messageIdNSStringServer message ID (message.messageId)
contentNCMessageContentUpdated message content

Listen for modifications

Other devices and users receive modification callbacks via MessageHandler:

swift
import NexconnChatSDK

final class MessageEditHandler: NSObject, MessageHandler {
func start() {
NCEngine.addMessageHandler(identifier: "MyHandler", handler: self)
}

func onMessagesModified(_ event: MessagesModifiedEvent) {
print("Modified messages: \(event.messages.count)")
}

func onModifiedMessageSyncCompleted(_ event: ModifiedMessageSyncCompletedEvent) {
print("Modified message sync completed.")
}
}