mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-12-22 16:47:13 +00:00
add handleResult
This commit is contained in:
parent
7ff6412ec5
commit
1b5b3af45b
@ -6,6 +6,7 @@
|
||||
* Hotfixes
|
||||
* `WebApps`:
|
||||
* New extension `TelegramBot#answerWebAppQuery`
|
||||
* New function `handleResult`
|
||||
|
||||
## 0.38.19
|
||||
|
||||
|
@ -6,6 +6,9 @@ import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQ
|
||||
import dev.inmo.tgbotapi.types.webapps.query.SentWebAppMessage
|
||||
import kotlinx.serialization.*
|
||||
|
||||
/**
|
||||
* @param webAppQueryId [dev.inmo.tgbotapi.webapps.WebAppInitData.queryId]
|
||||
*/
|
||||
@Serializable
|
||||
data class AnswerWebAppQuery(
|
||||
@SerialName(webAppQueryIdField)
|
||||
|
@ -0,0 +1,18 @@
|
||||
package dev.inmo.tgbotapi.webapps
|
||||
|
||||
import dev.inmo.tgbotapi.types.WebAppQueryId
|
||||
|
||||
/**
|
||||
* @param onSendData Should return the data which must be used in [WebApp.sendData]. If returns null, data will not be sent
|
||||
* @param onAnswerWebAppQuery In case if [WebAppInitData.queryId] is presented in [WebApp.initDataUnsafe], will be called
|
||||
* that callback. Before and after calling of this callback will not be used any method of answering to the telegram
|
||||
* system, so, you must use something like [answerWebAppQuery] by yourself to send the result
|
||||
*/
|
||||
inline fun handleResult(
|
||||
onSendData: () -> String?,
|
||||
onAnswerWebAppQuery: (WebAppQueryId) -> Unit
|
||||
) {
|
||||
webApp.initDataUnsafe.queryId ?.let {
|
||||
onAnswerWebAppQuery(it)
|
||||
} ?: webApp.sendData(onSendData() ?: return)
|
||||
}
|
Loading…
Reference in New Issue
Block a user