mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-07 09:20:08 +00:00
Fix attach bot payload passing
This commit is contained in:
parent
29d11093db
commit
29321aefbf
@ -3360,7 +3360,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
|
|
||||||
let openWebView = {
|
let openWebView = {
|
||||||
if fromMenu {
|
if fromMenu {
|
||||||
let params = WebAppParameters(peerId: peerId, botId: peerId, botName: botName, url: url, queryId: nil, buttonText: buttonText, keepAliveSignal: nil, fromMenu: true)
|
let params = WebAppParameters(peerId: peerId, botId: peerId, botName: botName, url: url, queryId: nil, payload: nil, buttonText: buttonText, keepAliveSignal: nil, fromMenu: true)
|
||||||
let controller = standaloneWebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, openUrl: { [weak self] url in
|
let controller = standaloneWebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, openUrl: { [weak self] url in
|
||||||
self?.openUrl(url, concealed: true, forceExternal: true)
|
self?.openUrl(url, concealed: true, forceExternal: true)
|
||||||
}, getInputContainerNode: { [weak self] in
|
}, getInputContainerNode: { [weak self] in
|
||||||
@ -3394,7 +3394,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
guard let strongSelf = self else {
|
guard let strongSelf = self else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let params = WebAppParameters(peerId: peerId, botId: peerId, botName: botName, url: url, queryId: nil, buttonText: buttonText, keepAliveSignal: nil, fromMenu: false)
|
let params = WebAppParameters(peerId: peerId, botId: peerId, botName: botName, url: url, queryId: nil, payload: nil, buttonText: buttonText, keepAliveSignal: nil, fromMenu: false)
|
||||||
let controller = standaloneWebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, openUrl: { [weak self] url in
|
let controller = standaloneWebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, openUrl: { [weak self] url in
|
||||||
self?.openUrl(url, concealed: true, forceExternal: true)
|
self?.openUrl(url, concealed: true, forceExternal: true)
|
||||||
})
|
})
|
||||||
@ -3414,7 +3414,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
guard let strongSelf = self else {
|
guard let strongSelf = self else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let params = WebAppParameters(peerId: peerId, botId: peerId, botName: botName, url: result.url, queryId: result.queryId, buttonText: buttonText, keepAliveSignal: result.keepAliveSignal, fromMenu: false)
|
let params = WebAppParameters(peerId: peerId, botId: peerId, botName: botName, url: result.url, queryId: result.queryId, payload: nil, buttonText: buttonText, keepAliveSignal: result.keepAliveSignal, fromMenu: false)
|
||||||
let controller = standaloneWebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, openUrl: { [weak self] url in
|
let controller = standaloneWebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, openUrl: { [weak self] url in
|
||||||
self?.openUrl(url, concealed: true, forceExternal: true)
|
self?.openUrl(url, concealed: true, forceExternal: true)
|
||||||
}, completion: { [weak self] in
|
}, completion: { [weak self] in
|
||||||
@ -10948,7 +10948,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
|||||||
completion(controller, nil)
|
completion(controller, nil)
|
||||||
strongSelf.controllerNavigationDisposable.set(nil)
|
strongSelf.controllerNavigationDisposable.set(nil)
|
||||||
case let .app(bot, botName, _):
|
case let .app(bot, botName, _):
|
||||||
let params = WebAppParameters(peerId: peer.id, botId: bot.id, botName: botName, url: nil, queryId: nil, buttonText: nil, keepAliveSignal: nil, fromMenu: false)
|
let params = WebAppParameters(peerId: peer.id, botId: bot.id, botName: botName, url: nil, queryId: nil, payload: botPayload, buttonText: nil, keepAliveSignal: nil, fromMenu: false)
|
||||||
let replyMessageId = strongSelf.presentationInterfaceState.interfaceState.replyMessageId
|
let replyMessageId = strongSelf.presentationInterfaceState.interfaceState.replyMessageId
|
||||||
let controller = WebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, replyToMessageId: replyMessageId)
|
let controller = WebAppController(context: strongSelf.context, updatedPresentationData: strongSelf.updatedPresentationData, params: params, replyToMessageId: replyMessageId)
|
||||||
controller.openUrl = { [weak self] url in
|
controller.openUrl = { [weak self] url in
|
||||||
|
|||||||
@ -24,6 +24,7 @@ public struct WebAppParameters {
|
|||||||
let botName: String
|
let botName: String
|
||||||
let url: String?
|
let url: String?
|
||||||
let queryId: Int64?
|
let queryId: Int64?
|
||||||
|
let payload: String?
|
||||||
let buttonText: String?
|
let buttonText: String?
|
||||||
let keepAliveSignal: Signal<Never, KeepWebViewError>?
|
let keepAliveSignal: Signal<Never, KeepWebViewError>?
|
||||||
let fromMenu: Bool
|
let fromMenu: Bool
|
||||||
@ -34,6 +35,7 @@ public struct WebAppParameters {
|
|||||||
botName: String,
|
botName: String,
|
||||||
url: String?,
|
url: String?,
|
||||||
queryId: Int64?,
|
queryId: Int64?,
|
||||||
|
payload: String?,
|
||||||
buttonText: String?,
|
buttonText: String?,
|
||||||
keepAliveSignal: Signal<Never, KeepWebViewError>?,
|
keepAliveSignal: Signal<Never, KeepWebViewError>?,
|
||||||
fromMenu: Bool
|
fromMenu: Bool
|
||||||
@ -43,6 +45,7 @@ public struct WebAppParameters {
|
|||||||
self.botName = botName
|
self.botName = botName
|
||||||
self.url = url
|
self.url = url
|
||||||
self.queryId = queryId
|
self.queryId = queryId
|
||||||
|
self.payload = payload
|
||||||
self.buttonText = buttonText
|
self.buttonText = buttonText
|
||||||
self.keepAliveSignal = keepAliveSignal
|
self.keepAliveSignal = keepAliveSignal
|
||||||
self.fromMenu = fromMenu
|
self.fromMenu = fromMenu
|
||||||
@ -178,7 +181,7 @@ public final class WebAppController: ViewController, AttachmentContainable {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let _ = (context.engine.messages.requestWebView(peerId: controller.peerId, botId: controller.botId, url: controller.url, payload: nil, themeParams: generateWebAppThemeParams(presentationData.theme), fromMenu: controller.fromMenu, replyToMessageId: controller.replyToMessageId)
|
let _ = (context.engine.messages.requestWebView(peerId: controller.peerId, botId: controller.botId, url: controller.url, payload: controller.payload, themeParams: generateWebAppThemeParams(presentationData.theme), fromMenu: controller.fromMenu, replyToMessageId: controller.replyToMessageId)
|
||||||
|> deliverOnMainQueue).start(next: { [weak self] result in
|
|> deliverOnMainQueue).start(next: { [weak self] result in
|
||||||
guard let strongSelf = self else {
|
guard let strongSelf = self else {
|
||||||
return
|
return
|
||||||
@ -454,6 +457,7 @@ public final class WebAppController: ViewController, AttachmentContainable {
|
|||||||
private let botId: PeerId
|
private let botId: PeerId
|
||||||
private let url: String?
|
private let url: String?
|
||||||
private let queryId: Int64?
|
private let queryId: Int64?
|
||||||
|
private let payload: String?
|
||||||
private let buttonText: String?
|
private let buttonText: String?
|
||||||
private let fromMenu: Bool
|
private let fromMenu: Bool
|
||||||
private let keepAliveSignal: Signal<Never, KeepWebViewError>?
|
private let keepAliveSignal: Signal<Never, KeepWebViewError>?
|
||||||
@ -473,6 +477,7 @@ public final class WebAppController: ViewController, AttachmentContainable {
|
|||||||
self.botId = params.botId
|
self.botId = params.botId
|
||||||
self.url = params.url
|
self.url = params.url
|
||||||
self.queryId = params.queryId
|
self.queryId = params.queryId
|
||||||
|
self.payload = params.payload
|
||||||
self.buttonText = params.buttonText
|
self.buttonText = params.buttonText
|
||||||
self.fromMenu = params.fromMenu
|
self.fromMenu = params.fromMenu
|
||||||
self.keepAliveSignal = params.keepAliveSignal
|
self.keepAliveSignal = params.keepAliveSignal
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user