Interface MessageHandler

  • All Implemented Interfaces:

    
    public interface MessageHandler
    
                        

    Message event handler.

    Listens for all message-related event notifications, including:

    • Receive: real-time and offline message reception, offline sync completion

    • Lifecycle: message deletion (recall), modification, and blocking (sensitive word filtering)

    • Read receipts: read receipt responses from other users

    • Metadata: message metadata (expansion) updates and deletions

    • Speech-to-text: voice message transcription completion

    • Stream messages: stream request init, incremental chunks, and completion

    • Community: community channel message metadata changes

    Register via NCEngine.addMessageHandler. All callback methods have default empty implementations; override only the callbacks you need.

    NCEngine.addMessageHandler("MSG_HANDLER_ID", object : MessageHandler {
        override fun onMessageReceived(event: MessageReceivedEvent) {
            println("Received: ${event.message.messageId}")
        }
    
        override fun onMessageReceiptResponse(event: MessageReceiptResponseEvent) {
            event.responses.forEach { response ->
                println("Message ${response.messageId} read count: ${response.readCount}")
            }
        }
    
        override fun onMessageBlocked(event: MessageBlockedEvent) {
            println("Message blocked: ${event.info.messageId}, reason: ${event.info.blockType}")
        }
    })