diff --git a/TelegramCore/RequestMessageActionCallback.swift b/TelegramCore/RequestMessageActionCallback.swift index d990746d50..cf67c661b0 100644 --- a/TelegramCore/RequestMessageActionCallback.swift +++ b/TelegramCore/RequestMessageActionCallback.swift @@ -22,46 +22,46 @@ public enum MessageActionCallbackResult { public func requestMessageActionCallback(account: Account, messageId: MessageId, isGame:Bool, data: MemoryBuffer?) -> Signal { return account.postbox.loadedPeerWithId(messageId.peerId) - |> take(1) - |> mapToSignal { peer in - if let inputPeer = apiInputPeer(peer) { - var flags: Int32 = 0 - var dataBuffer: Buffer? - if let data = data { - flags |= Int32(1 << 0) - dataBuffer = Buffer(data: data.makeData()) - } - if isGame { - flags |= Int32(1 << 1) - } - return account.network.request(Api.functions.messages.getBotCallbackAnswer(flags: flags, peer: inputPeer, msgId: messageId.id, data: dataBuffer)) - |> map(Optional.init) - |> `catch` { _ -> Signal in - return .single(nil) - } - |> map { result -> MessageActionCallbackResult in - guard let result = result else { - return .none - } - switch result { - case let .botCallbackAnswer(flags, message, url, cacheTime): - if let message = message { - if (flags & (1 << 1)) != 0 { - return .alert(message) - } else { - return .toast(message) - } - } else if let url = url { - return .url(url) - } else { - return .none - } - } - } - } else { - return .single(.none) + |> take(1) + |> mapToSignal { peer in + if let inputPeer = apiInputPeer(peer) { + var flags: Int32 = 0 + var dataBuffer: Buffer? + if let data = data { + flags |= Int32(1 << 0) + dataBuffer = Buffer(data: data.makeData()) } + if isGame { + flags |= Int32(1 << 1) + } + return account.network.request(Api.functions.messages.getBotCallbackAnswer(flags: flags, peer: inputPeer, msgId: messageId.id, data: dataBuffer)) + |> map(Optional.init) + |> `catch` { _ -> Signal in + return .single(nil) + } + |> map { result -> MessageActionCallbackResult in + guard let result = result else { + return .none + } + switch result { + case let .botCallbackAnswer(flags, message, url, cacheTime): + if let message = message { + if (flags & (1 << 1)) != 0 { + return .alert(message) + } else { + return .toast(message) + } + } else if let url = url { + return .url(url) + } else { + return .none + } + } + } + } else { + return .single(.none) } + } } public enum MessageActionUrlAuthResult {