mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-11-28 10:30:46 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 72781487f0 | |||
| de435e5dbc | |||
| f975754058 | |||
| 0f7536a21c | |||
| d4c085c9b6 | |||
| 667c49f13d | |||
| e1d9ebff90 | |||
| fbc7088dad | |||
| 4ba9c8ee97 | |||
| 92611b5c26 | |||
|
|
0650fc594f |
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,5 +1,18 @@
|
||||
# TelegramBotAPI changelog
|
||||
|
||||
## 27.1.2
|
||||
|
||||
* `Core`:
|
||||
* Try to fix cancelling on timeout for long polling
|
||||
* Since this update phrase `Something web wrong` will not happen from this library 😭
|
||||
|
||||
## 27.1.1
|
||||
|
||||
* `Version`:
|
||||
* `MicroUtils`: `0.26.1` -> `0.26.2`
|
||||
* `Core`:
|
||||
* Make `BusinessLocation#location` optional (fix of [#990](https://github.com/InsanusMokrassar/ktgbotapi/issues/990))
|
||||
|
||||
## 27.1.0
|
||||
|
||||
* `Core`:
|
||||
|
||||
@@ -9,4 +9,4 @@ kotlin.incremental.js=true
|
||||
ksp.useKSP2=false
|
||||
|
||||
library_group=dev.inmo
|
||||
library_version=27.1.0
|
||||
library_version=27.1.2
|
||||
|
||||
@@ -11,9 +11,9 @@ uuid = "0.8.4"
|
||||
ktor = "3.2.2"
|
||||
|
||||
ksp = "2.2.0-2.0.2"
|
||||
kotlin-poet = "2.0.0"
|
||||
kotlin-poet = "2.2.0"
|
||||
|
||||
microutils = "0.26.1"
|
||||
microutils = "0.26.2"
|
||||
kslog = "1.5.0"
|
||||
|
||||
versions = "0.52.0"
|
||||
|
||||
@@ -14550,6 +14550,7 @@ public final class dev/inmo/tgbotapi/types/business_connection/BusinessIntro$Com
|
||||
public final class dev/inmo/tgbotapi/types/business_connection/BusinessLocation {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/business_connection/BusinessLocation$Companion;
|
||||
public fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/location/StaticLocation;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/location/StaticLocation;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public final fun component1 ()Ljava/lang/String;
|
||||
public final fun component2 ()Ldev/inmo/tgbotapi/types/location/StaticLocation;
|
||||
public final fun copy (Ljava/lang/String;Ldev/inmo/tgbotapi/types/location/StaticLocation;)Ldev/inmo/tgbotapi/types/business_connection/BusinessLocation;
|
||||
|
||||
@@ -11,5 +11,5 @@ data class BusinessLocation(
|
||||
@SerialName(addressField)
|
||||
val address: String,
|
||||
@SerialName(locationField)
|
||||
val location: StaticLocation
|
||||
val location: StaticLocation? = null
|
||||
)
|
||||
|
||||
@@ -13,7 +13,7 @@ import kotlin.coroutines.EmptyCoroutineContext
|
||||
|
||||
context(bot: TelegramBot)
|
||||
fun CoroutineScope.launchWithBotLogger(
|
||||
errorMessageBuilder: CoroutineScope.(Throwable) -> Any = { "Something web wrong" },
|
||||
errorMessageBuilder: CoroutineScope.(Throwable) -> Any = { "Something went wrong" },
|
||||
context: CoroutineContext = EmptyCoroutineContext,
|
||||
start: CoroutineStart = CoroutineStart.DEFAULT,
|
||||
block: suspend CoroutineScope.() -> Unit
|
||||
@@ -28,7 +28,7 @@ fun CoroutineScope.launchWithBotLogger(
|
||||
context(bot: TelegramBot)
|
||||
fun <T> Flow<T>.subscribeWithBotLogger(
|
||||
scope: CoroutineScope,
|
||||
errorMessageBuilder: T.(Throwable) -> Any = { "Something web wrong" },
|
||||
errorMessageBuilder: T.(Throwable) -> Any = { "Something went wrong" },
|
||||
block: suspend (T) -> Unit
|
||||
) = subscribeLoggingDropExceptions (
|
||||
scope,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.inmo.tgbotapi.extensions.utils.updates.retrieving
|
||||
|
||||
import dev.inmo.kslog.common.logger
|
||||
import dev.inmo.micro_utils.coroutines.*
|
||||
import dev.inmo.tgbotapi.bot.RequestsExecutor
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
@@ -107,17 +108,13 @@ fun TelegramBot.longPollingFlow(
|
||||
lastUpdateIdentifier = update.updateId
|
||||
}
|
||||
}
|
||||
}.onFailure {
|
||||
it.causedCancellationException() ?.let {
|
||||
cancel(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
withContext(contextToWork) {
|
||||
while (isActive) {
|
||||
runCatching {
|
||||
runCatchingLogging(logger = Log) {
|
||||
execute(
|
||||
GetUpdates(
|
||||
offset = lastUpdateIdentifier?.plus(1),
|
||||
@@ -128,14 +125,16 @@ fun TelegramBot.longPollingFlow(
|
||||
updatesHandler(originalUpdates)
|
||||
}
|
||||
}.onFailure { e ->
|
||||
val isHttpRequestTimeoutException =
|
||||
e is HttpRequestTimeoutException || (e is CommonBotException && e.cause is HttpRequestTimeoutException)
|
||||
if (isHttpRequestTimeoutException && autoSkipTimeoutExceptions) {
|
||||
return@onFailure
|
||||
}
|
||||
exceptionsHandler?.invoke(e)
|
||||
if (e is RequestException) {
|
||||
delay(1000L)
|
||||
runCatchingLogging(logger = Log) {
|
||||
val isHttpRequestTimeoutException =
|
||||
e is HttpRequestTimeoutException || (e is CommonBotException && e.cause is HttpRequestTimeoutException)
|
||||
if (isHttpRequestTimeoutException && autoSkipTimeoutExceptions) {
|
||||
return@onFailure
|
||||
}
|
||||
exceptionsHandler?.invoke(e)
|
||||
if (e is RequestException) {
|
||||
delay(1000L)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user