
Offers a Coroutines client for the Telegram Database Library, enabling asynchronous operations with generated Data Transfer Objects. Supports 159 update flows and 867 request methods.
TDL Coroutines is a Kotlin Multiplatform library that provides a coroutine-based client for the
Telegram Database Library (TDLib). It simplifies sending requests and handling updates, making
integration with TDLib more straightforward and idiomatic for Kotlin and Kotlin Multiplatform projects.
repositories {
mavenCentral()
}Replace X.X.X with the version from the Maven Central badge.
dependencies {
implementation("dev.g000sha256:tdl-coroutines:X.X.X")
}[!CAUTION] The upstream
TDLiblibrary frequently introduces breaking changes even in patch versions. SinceTDL CoroutineswrapsTDLib, these changes propagate to this library as well. To minimize the impact, use named arguments for constructors and methods, as parameters may be added, renamed, or removed in future releases.
val client = TdlClient.create()[!IMPORTANT] To start using
TdlClient, you should first subscribe to important updates, and then call any request method.
The TdlClient provides 174 update flows and the allUpdates flow, which combines all update events.
coroutineScope.launch {
client.authorizationStateUpdates.collect { updateAuthorizationState ->
val authorizationState = updateAuthorizationState.authorizationState
// TODO
}
}coroutineScope.launch {
client.allUpdates.collect { update ->
when (update) {
is UpdateAuthorizationState -> {
val authorizationState = update.authorizationState
// TODO
}
is UpdateOption -> {
val name = update.name
val value = update.value
// TODO
}
// TODO
}
}
}The TdlClient provides 956 request methods.
coroutineScope.launch {
val result = client.getAuthorizationState()
when (result) {
is TdlResult.Failure -> {
val code = result.code
val message = result.message
// TODO
}
is TdlResult.Success -> {
val authorizationState = result.result
// TODO
}
}
}[!TIP] You can use the
.toResult()extension to convert theTdlResult<T>into the standardKotlinResult<T>.
TDL Coroutines is a Kotlin Multiplatform library that provides a coroutine-based client for the
Telegram Database Library (TDLib). It simplifies sending requests and handling updates, making
integration with TDLib more straightforward and idiomatic for Kotlin and Kotlin Multiplatform projects.
repositories {
mavenCentral()
}Replace X.X.X with the version from the Maven Central badge.
dependencies {
implementation("dev.g000sha256:tdl-coroutines:X.X.X")
}[!CAUTION] The upstream
TDLiblibrary frequently introduces breaking changes even in patch versions. SinceTDL CoroutineswrapsTDLib, these changes propagate to this library as well. To minimize the impact, use named arguments for constructors and methods, as parameters may be added, renamed, or removed in future releases.
val client = TdlClient.create()[!IMPORTANT] To start using
TdlClient, you should first subscribe to important updates, and then call any request method.
The TdlClient provides 174 update flows and the allUpdates flow, which combines all update events.
coroutineScope.launch {
client.authorizationStateUpdates.collect { updateAuthorizationState ->
val authorizationState = updateAuthorizationState.authorizationState
// TODO
}
}coroutineScope.launch {
client.allUpdates.collect { update ->
when (update) {
is UpdateAuthorizationState -> {
val authorizationState = update.authorizationState
// TODO
}
is UpdateOption -> {
val name = update.name
val value = update.value
// TODO
}
// TODO
}
}
}The TdlClient provides 956 request methods.
coroutineScope.launch {
val result = client.getAuthorizationState()
when (result) {
is TdlResult.Failure -> {
val code = result.code
val message = result.message
// TODO
}
is TdlResult.Success -> {
val authorizationState = result.result
// TODO
}
}
}[!TIP] You can use the
.toResult()extension to convert theTdlResult<T>into the standardKotlinResult<T>.