mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-25 19:48:43 +00:00
fixes
This commit is contained in:
parent
b5632626ad
commit
b40cc0c1ea
@ -57,7 +57,7 @@
|
|||||||
* `TelegramBotAPI-extensions-api`:
|
* `TelegramBotAPI-extensions-api`:
|
||||||
* Long Polling extensions now are deprecated in this project. It was replaced into `TelegramBotAPI-extensions-utils`
|
* Long Polling extensions now are deprecated in this project. It was replaced into `TelegramBotAPI-extensions-utils`
|
||||||
* `TelegramBotAPI-extensions-utils`:
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
* Extension `asTelegramUpdate` was added
|
* Extension `toTelegramUpdate` was added
|
||||||
* Long Polling extensions were added
|
* Long Polling extensions were added
|
||||||
* Updates utils were added
|
* Updates utils were added
|
||||||
* New extensions `setWebhook` and `includeWebhookInRoute` was added
|
* New extensions `setWebhook` and `includeWebhookInRoute` was added
|
||||||
|
@ -10,15 +10,14 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.update.*
|
|||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.*
|
import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.*
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update
|
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.*
|
import com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.*
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.PreviewFeature
|
import com.github.insanusmokrassar.TelegramBotAPI.utils.*
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.handleSafely
|
|
||||||
import kotlinx.coroutines.*
|
import kotlinx.coroutines.*
|
||||||
|
|
||||||
@Deprecated("Replaced and renamed in TelegramBotAPI-extensions-utils")
|
@Deprecated("Replaced and renamed in TelegramBotAPI-extensions-utils")
|
||||||
fun RequestsExecutor.startGettingOfUpdates(
|
fun RequestsExecutor.startGettingOfUpdates(
|
||||||
timeoutSeconds: Seconds = 30,
|
timeoutSeconds: Seconds = 30,
|
||||||
scope: CoroutineScope = CoroutineScope(Dispatchers.Default),
|
scope: CoroutineScope = CoroutineScope(Dispatchers.Default),
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
exceptionsHandler: (ExceptionHandler<Unit>)? = null,
|
||||||
allowedUpdates: List<String>? = null,
|
allowedUpdates: List<String>? = null,
|
||||||
updatesReceiver: UpdateReceiver<Update>
|
updatesReceiver: UpdateReceiver<Update>
|
||||||
): Job = scope.launch {
|
): Job = scope.launch {
|
||||||
|
@ -8,24 +8,24 @@ import kotlinx.serialization.json.JsonElement
|
|||||||
/**
|
/**
|
||||||
* @return Deserialize [source] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]
|
* @return Deserialize [source] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]
|
||||||
*/
|
*/
|
||||||
fun Json.asTelegramUpdate(source: String) = parse(UpdateDeserializationStrategy, source)
|
fun Json.toTelegramUpdate(source: String) = parse(UpdateDeserializationStrategy, source)
|
||||||
/**
|
/**
|
||||||
* @return Deserialize [source] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]
|
* @return Deserialize [source] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]
|
||||||
*/
|
*/
|
||||||
fun Json.asTelegramUpdate(source: JsonElement) = fromJson(UpdateDeserializationStrategy, source)
|
fun Json.toTelegramUpdate(source: JsonElement) = fromJson(UpdateDeserializationStrategy, source)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Deserialize [this] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]. In fact,
|
* @return Deserialize [this] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]. In fact,
|
||||||
* it is must be JSON
|
* it is must be JSON
|
||||||
*
|
*
|
||||||
* @see Json.asTelegramUpdate
|
* @see Json.toTelegramUpdate
|
||||||
*/
|
*/
|
||||||
fun String.asTelegramUpdate() = nonstrictJsonFormat.asTelegramUpdate(this)
|
fun String.toTelegramUpdate() = nonstrictJsonFormat.toTelegramUpdate(this)
|
||||||
/**
|
/**
|
||||||
* @return Deserialize [this] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]
|
* @return Deserialize [this] as [com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update]
|
||||||
*
|
*
|
||||||
* @see Json.asTelegramUpdate
|
* @see Json.toTelegramUpdate
|
||||||
*/
|
*/
|
||||||
fun JsonElement.asTelegramUpdate() = nonstrictJsonFormat.asTelegramUpdate(this)
|
fun JsonElement.toTelegramUpdate() = nonstrictJsonFormat.toTelegramUpdate(this)
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,14 +10,13 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.update.*
|
|||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.*
|
import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.*
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update
|
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.*
|
import com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.*
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.PreviewFeature
|
import com.github.insanusmokrassar.TelegramBotAPI.utils.*
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.handleSafely
|
|
||||||
import kotlinx.coroutines.*
|
import kotlinx.coroutines.*
|
||||||
|
|
||||||
fun RequestsExecutor.startGettingOfUpdatesByLongPolling(
|
fun RequestsExecutor.startGettingOfUpdatesByLongPolling(
|
||||||
timeoutSeconds: Seconds = 30,
|
timeoutSeconds: Seconds = 30,
|
||||||
scope: CoroutineScope = CoroutineScope(Dispatchers.Default),
|
scope: CoroutineScope = CoroutineScope(Dispatchers.Default),
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
exceptionsHandler: (ExceptionHandler<Unit>)? = null,
|
||||||
allowedUpdates: List<String>? = null,
|
allowedUpdates: List<String>? = null,
|
||||||
updatesReceiver: UpdateReceiver<Update>
|
updatesReceiver: UpdateReceiver<Update>
|
||||||
): Job = scope.launch {
|
): Job = scope.launch {
|
||||||
|
@ -21,6 +21,8 @@ import java.util.concurrent.Executors
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Allows to include webhook in custom route everywhere in your server
|
||||||
|
*
|
||||||
* @param [scope] Will be used for mapping of media groups
|
* @param [scope] Will be used for mapping of media groups
|
||||||
* @param [exceptionsHandler] Pass this parameter to set custom exception handler for getting updates
|
* @param [exceptionsHandler] Pass this parameter to set custom exception handler for getting updates
|
||||||
* @param [block] Some receiver block like [com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.FlowsUpdatesFilter]
|
* @param [block] Some receiver block like [com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.FlowsUpdatesFilter]
|
||||||
@ -57,6 +59,7 @@ fun Route.includeWebhookInRoute(
|
|||||||
* @param port port which will be listen by bot
|
* @param port port which will be listen by bot
|
||||||
* @param listenRoute address to listen by bot
|
* @param listenRoute address to listen by bot
|
||||||
* @param scope Scope which will be used for
|
* @param scope Scope which will be used for
|
||||||
|
* @param privateKeyConfig If configured - server will be created with [sslConnector]. [connector] will be used otherwise
|
||||||
*
|
*
|
||||||
* @see com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.FlowsUpdatesFilter
|
* @see com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.FlowsUpdatesFilter
|
||||||
* @see UpdatesFilter
|
* @see UpdatesFilter
|
||||||
|
@ -3,6 +3,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.utils
|
|||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.supervisorScope
|
import kotlinx.coroutines.supervisorScope
|
||||||
|
|
||||||
|
|
||||||
|
typealias ExceptionHandler<T> = suspend (Exception) -> T
|
||||||
/**
|
/**
|
||||||
* It will run [block] inside of [supervisorScope] to avoid problems with catching of exceptions
|
* It will run [block] inside of [supervisorScope] to avoid problems with catching of exceptions
|
||||||
*
|
*
|
||||||
@ -10,7 +12,7 @@ import kotlinx.coroutines.supervisorScope
|
|||||||
* exception will be available for catching
|
* exception will be available for catching
|
||||||
*/
|
*/
|
||||||
suspend inline fun <T> handleSafely(
|
suspend inline fun <T> handleSafely(
|
||||||
noinline onException: suspend (Exception) -> T = { throw it },
|
noinline onException: ExceptionHandler<T> = { throw it },
|
||||||
noinline block: suspend CoroutineScope.() -> T
|
noinline block: suspend CoroutineScope.() -> T
|
||||||
): T {
|
): T {
|
||||||
return try {
|
return try {
|
||||||
|
@ -41,7 +41,7 @@ suspend fun RequestsExecutor.setWebhook(
|
|||||||
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
|
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
|
||||||
allowedUpdates: List<String>? = null,
|
allowedUpdates: List<String>? = null,
|
||||||
maxAllowedConnections: Int? = null,
|
maxAllowedConnections: Int? = null,
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
exceptionsHandler: (ExceptionHandler<Unit>)? = null,
|
||||||
block: UpdateReceiver<Update>
|
block: UpdateReceiver<Update>
|
||||||
): Job {
|
): Job {
|
||||||
val executeDeferred = certificate ?.let {
|
val executeDeferred = certificate ?.let {
|
||||||
|
Loading…
Reference in New Issue
Block a user