Skip to main content

Set channel do not disturb

Chat UI SDK supports setting do not disturb for individual channels. The status is synchronized to the server and across all connected clients.

Set channel do not disturb

kotlin
val identifier = ChannelIdentifier(ChannelType.DIRECT, "user_001")
val channel = NCChatUI.createChannel(identifier)

channel.setNoDisturbLevel(ChannelNoDisturbLevel.MUTED) { error ->
// error == null indicates success
}

Listen for do not disturb synchronization

kotlin
private const val CHANNEL_NOTIFY_HANDLER_ID = "channel_notify_sync"

NCEngine.addChannelHandler(
CHANNEL_NOTIFY_HANDLER_ID,
object : ChannelHandler {
override fun onChannelNoDisturbLevelSync(event: ChannelNoDisturbLevelSyncEvent) {
// event.channelIdentifier / event.level
}
}
)

NCEngine.removeChannelHandler(CHANNEL_NOTIFY_HANDLER_ID)

Get channel do not disturb status

kotlin
val id = ChannelIdentifier(ChannelType.DIRECT, "user_001")
BaseChannel.getChannels(listOf(id)) { channels, error ->
val level = channels?.firstOrNull()?.noDisturbLevel
}