Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class MatrixClientAuthProviderDataSerializerMapping<T : MatrixClientAuthProviderData>(val id: String, val kClass: KClass<out T>, val serializer: KSerializer<T>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class MatrixClientConfiguration(var name: String? = null, var storeTimelineEventContentUnencrypted: Boolean = true, var markOwnMessageAsRead: Boolean = false, var autoJoinUpgradedRooms: Boolean = true, var deleteRooms: MatrixClientConfiguration.DeleteRooms = DeleteRooms.WhenNotJoined, var deleteSentOutboxMessageDelay: Duration = 10.seconds, var userPresenceActivityThreshold: Duration = 5.minutes, var enableExternalNotifications: Boolean = false, var cacheExpireDurations: MatrixClientConfiguration.CacheExpireDurations = CacheExpireDurations.default(1.minutes), var syncLoopTimeout: Duration = 30.seconds, var syncErrorDelayConfig: RetryFlowDelayConfig = RetryFlowDelayConfig.sync, var lastRelevantEventFilter: (ClientEvent.RoomEvent<*>) -> Boolean = { it is RoomEvent.MessageEvent<*> }, var syncFilter: Filters = Filters(), var syncOnceFilter: Filters = Filters(presence = Filters.EventFilter(limit = 0)), var httpClientEngine: HttpClientEngine? = null, var httpClientConfig: HttpClientConfig<*>.() -> Unit? = null, var modulesFactories: List<ModuleFactory> = createTrixnityDefaultModuleFactories(), var matrixClientServerApiClientFactory: MatrixClientServerApiClientFactory = object : MatrixClientServerApiClientFactory {}, val experimentalFeatures: MatrixClientConfiguration.ExperimentalFeatures = ExperimentalFeatures())
Link copied to clipboard
Link copied to clipboard
class MatrixClientStarted(delegate: MutableStateFlow<Boolean> = MutableStateFlow(false)) : StateFlow<Boolean>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Properties
Functions
Link copied to clipboard
suspend fun MatrixClient.Companion.create(repositoriesModule: RepositoriesModule, mediaStoreModule: MediaStoreModule, cryptoDriverModule: CryptoDriverModule, authProviderData: MatrixClientAuthProviderData? = null, coroutineContext: CoroutineContext = Dispatchers.Default, configuration: MatrixClientConfiguration.() -> Unit = {}): Result<MatrixClient>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Use this, if you want to create a bot with basic functionality. You don't have access to some data usually provided by Trixnity (for example RoomUser or TimelineEvent).
Link copied to clipboard
Link copied to clipboard
inline fun <K, V> Flow<Map<K, Flow<V?>>>.flattenValues(throttle: Duration = 200.milliseconds): Flow<List<V>>
A change of the outer flow results in new collect of the inner flows. Because this is an expensive operation, the outer flow is throttled by default.
fun Flow<Map<RoomId, Flow<Room?>>>.flattenValues(throttle: Duration = 200.milliseconds, filterUpgradedRooms: Boolean = true): Flow<Set<Room>>
This collects all rooms, so when one changes, a new set gets emitted. A change of the outer flow results in new collect of the inner flows. Because this is an expensive operation, the outer flow is throttled by default.
Link copied to clipboard
inline fun <C : MatrixClientAuthProviderData> MatrixClientAuthProviderDataSerializerMappingsBuilder.of(id: String)
Link copied to clipboard
suspend fun UserId.serverDiscovery(httpClientEngine: HttpClientEngine? = null, httpClientConfig: HttpClientConfig<*>.() -> Unit? = null): Result<Url>
suspend fun Url.serverDiscovery(httpClientEngine: HttpClientEngine? = null, httpClientConfig: HttpClientConfig<*>.() -> Unit? = null): Result<Url>
suspend fun String.serverDiscovery(httpClientEngine: HttpClientEngine? = null, httpClientConfig: HttpClientConfig<*>.() -> Unit? = null): Result<Url>