mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 16:23:48 +00:00
commit
62d474b7cc
@ -32,6 +32,10 @@
|
||||
|
||||
* Now `LeftChatMamber` is a `CommonEvent`
|
||||
|
||||
### 0.20.4
|
||||
|
||||
* Now `setWebhook` supports setting up of path for listening
|
||||
|
||||
## 0.19.0 ImplicitReflection removing
|
||||
|
||||
* Total rework of serialization for requests. Now all `SimpleRequest` children have:
|
||||
|
@ -17,7 +17,7 @@ plugins {
|
||||
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
|
||||
}
|
||||
|
||||
project.version = "0.20.3"
|
||||
project.version = "0.20.4"
|
||||
project.group = "com.github.insanusmokrassar"
|
||||
|
||||
apply from: "publish.gradle"
|
||||
|
@ -23,12 +23,12 @@ import kotlinx.serialization.json.Json
|
||||
import java.util.concurrent.Executors
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
||||
/**
|
||||
* Reverse proxy webhook.
|
||||
*
|
||||
* @param url URL of webhook WITHOUT including of [port]
|
||||
* @param port port which will be listen by bot
|
||||
* @param listenAddress address to listen by bot
|
||||
* @param certificate [com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile] or [com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId]
|
||||
* which will be used by telegram to send encrypted messages
|
||||
* @param scope Scope which will be used for
|
||||
@ -37,6 +37,7 @@ suspend fun RequestsExecutor.setWebhook(
|
||||
url: String,
|
||||
port: Int,
|
||||
engineFactory: ApplicationEngineFactory<*, *>,
|
||||
listenAddress: String = "/",
|
||||
certificate: InputFile? = null,
|
||||
privateKeyConfig: WebhookPrivateKeyConfig? = null,
|
||||
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
|
||||
@ -70,7 +71,7 @@ suspend fun RequestsExecutor.setWebhook(
|
||||
|
||||
module {
|
||||
routing {
|
||||
post {
|
||||
post(listenAddress) {
|
||||
val deserialized = call.receiveText()
|
||||
val update = Json.nonstrict.parse(
|
||||
RawUpdate.serializer(),
|
||||
@ -136,6 +137,29 @@ suspend fun RequestsExecutor.setWebhook(
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun RequestsExecutor.setWebhook(
|
||||
url: String,
|
||||
port: Int,
|
||||
engineFactory: ApplicationEngineFactory<*, *>,
|
||||
certificate: InputFile? = null,
|
||||
privateKeyConfig: WebhookPrivateKeyConfig? = null,
|
||||
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
|
||||
allowedUpdates: List<String>? = null,
|
||||
maxAllowedConnections: Int? = null,
|
||||
block: UpdateReceiver<Update>
|
||||
) = setWebhook(
|
||||
url,
|
||||
port,
|
||||
engineFactory,
|
||||
"/",
|
||||
certificate,
|
||||
privateKeyConfig,
|
||||
scope,
|
||||
allowedUpdates,
|
||||
maxAllowedConnections,
|
||||
block
|
||||
)
|
||||
|
||||
suspend fun RequestsExecutor.setWebhook(
|
||||
url: String,
|
||||
port: Int,
|
||||
@ -144,11 +168,13 @@ suspend fun RequestsExecutor.setWebhook(
|
||||
certificate: InputFile? = null,
|
||||
privateKeyConfig: WebhookPrivateKeyConfig? = null,
|
||||
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
|
||||
maxAllowedConnections: Int? = null
|
||||
maxAllowedConnections: Int? = null,
|
||||
listenAddress: String = "/"
|
||||
): Job = setWebhook(
|
||||
url,
|
||||
port,
|
||||
engineFactory,
|
||||
listenAddress,
|
||||
certificate,
|
||||
privateKeyConfig,
|
||||
scope,
|
||||
|
Loading…
Reference in New Issue
Block a user