mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 00:03:48 +00:00
fixes in onEvent/onWriteAccessRequested/onContactRequested
This commit is contained in:
parent
6c4afac8f8
commit
88f6b349ea
@ -0,0 +1,14 @@
|
|||||||
|
package dev.inmo.tgbotapi.webapps
|
||||||
|
|
||||||
|
external interface RequestStatus {
|
||||||
|
val status: String
|
||||||
|
}
|
||||||
|
|
||||||
|
inline val RequestStatus.isCancelled: Boolean
|
||||||
|
get() = status == "cancelled"
|
||||||
|
|
||||||
|
inline val RequestStatus.isAllowed: Boolean
|
||||||
|
get() = status == "allowed"
|
||||||
|
|
||||||
|
inline val RequestStatus.isSent: Boolean
|
||||||
|
get() = status == "sent"
|
@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.webapps.cloud.CloudStorage
|
|||||||
import dev.inmo.tgbotapi.webapps.haptic.HapticFeedback
|
import dev.inmo.tgbotapi.webapps.haptic.HapticFeedback
|
||||||
import dev.inmo.tgbotapi.webapps.invoice.InvoiceClosedInfo
|
import dev.inmo.tgbotapi.webapps.invoice.InvoiceClosedInfo
|
||||||
import dev.inmo.tgbotapi.webapps.popup.*
|
import dev.inmo.tgbotapi.webapps.popup.*
|
||||||
|
import kotlin.js.Json
|
||||||
|
|
||||||
external class WebApp {
|
external class WebApp {
|
||||||
val version: String
|
val version: String
|
||||||
@ -64,8 +65,10 @@ external class WebApp {
|
|||||||
internal fun onEventWithQRTextInfo(type: String, callback: (String) -> Boolean)
|
internal fun onEventWithQRTextInfo(type: String, callback: (String) -> Boolean)
|
||||||
@JsName("onEvent")
|
@JsName("onEvent")
|
||||||
internal fun onEventWithTextInfo(type: String, callback: (String) -> Unit)
|
internal fun onEventWithTextInfo(type: String, callback: (String) -> Unit)
|
||||||
internal fun onEventWithWriteAccessRequested(type: String, callback: (Boolean) -> Unit)
|
@JsName("onEvent")
|
||||||
internal fun onEventWithContactRequested(type: String, callback: (Boolean) -> Unit)
|
internal fun onEventWithWriteAccessRequested(type: String, callback: (RequestStatus) -> Unit)
|
||||||
|
@JsName("onEvent")
|
||||||
|
internal fun onEventWithContactRequested(type: String, callback: (RequestStatus) -> Unit)
|
||||||
|
|
||||||
fun offEvent(type: String, callback: () -> Unit)
|
fun offEvent(type: String, callback: () -> Unit)
|
||||||
@JsName("offEvent")
|
@JsName("offEvent")
|
||||||
@ -170,8 +173,8 @@ fun WebApp.onEvent(type: EventType.ClipboardTextReceived, eventHandler: TextRece
|
|||||||
/**
|
/**
|
||||||
* @return The callback which should be used in case you want to turn off events handling
|
* @return The callback which should be used in case you want to turn off events handling
|
||||||
*/
|
*/
|
||||||
fun WebApp.onEvent(type: EventType.WriteAccessRequested, eventHandler: WriteAccessRequestedHandler) = { it: Boolean ->
|
fun WebApp.onEvent(type: EventType.WriteAccessRequested, eventHandler: WriteAccessRequestedHandler) = { it: RequestStatus ->
|
||||||
eventHandler(js("this").unsafeCast<WebApp>(), it)
|
eventHandler(js("this").unsafeCast<WebApp>(), it.isAllowed)
|
||||||
}.also {
|
}.also {
|
||||||
onEventWithWriteAccessRequested(
|
onEventWithWriteAccessRequested(
|
||||||
type.typeName,
|
type.typeName,
|
||||||
@ -182,8 +185,8 @@ fun WebApp.onEvent(type: EventType.WriteAccessRequested, eventHandler: WriteAcce
|
|||||||
/**
|
/**
|
||||||
* @return The callback which should be used in case you want to turn off events handling
|
* @return The callback which should be used in case you want to turn off events handling
|
||||||
*/
|
*/
|
||||||
fun WebApp.onEvent(type: EventType.ContactRequested, eventHandler: ContactRequestedHandler) = { it: Boolean ->
|
fun WebApp.onEvent(type: EventType.ContactRequested, eventHandler: ContactRequestedHandler) = { it: RequestStatus ->
|
||||||
eventHandler(js("this").unsafeCast<WebApp>(), it)
|
eventHandler(js("this").unsafeCast<WebApp>(), it.isSent)
|
||||||
}.also {
|
}.also {
|
||||||
onEventWithContactRequested(
|
onEventWithContactRequested(
|
||||||
type.typeName,
|
type.typeName,
|
||||||
|
Loading…
Reference in New Issue
Block a user