All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.net.folivo.trixnity.client.room.message.utils.kt Maven / Gradle / Ivy

There is a newer version: 4.7.1
Show newest version
package net.folivo.trixnity.client.room.message

import net.folivo.trixnity.client.room.RoomService
import net.folivo.trixnity.client.room.firstWithContent
import net.folivo.trixnity.core.model.EventId
import net.folivo.trixnity.core.model.RoomId
import net.folivo.trixnity.core.model.events.m.Mentions
import kotlin.time.Duration.Companion.seconds

internal suspend fun RoomService.getTimelineEventWithContentAndTimeout(roomId: RoomId, eventId: EventId) =
    getTimelineEvent(roomId, eventId) {
        decryptionTimeout = 5.seconds
        allowReplaceContent = false
    }.firstWithContent()

internal operator fun Mentions?.plus(other: Mentions?): Mentions {
    val users = this?.users
    return Mentions(
        users = if (users == null) other?.users else users + other?.users.orEmpty(),
        room = other?.room
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy