diff --git a/TelegramCore/OutgoingChatContextResultMessageAttribute.swift b/TelegramCore/OutgoingChatContextResultMessageAttribute.swift index f135a1878a..5ae4a29923 100644 --- a/TelegramCore/OutgoingChatContextResultMessageAttribute.swift +++ b/TelegramCore/OutgoingChatContextResultMessageAttribute.swift @@ -8,19 +8,23 @@ import Foundation public class OutgoingChatContextResultMessageAttribute: MessageAttribute { public let queryId: Int64 public let id: String + public let hideVia: Bool - init(queryId: Int64, id: String) { + init(queryId: Int64, id: String, hideVia: Bool) { self.queryId = queryId self.id = id + self.hideVia = hideVia } required public init(decoder: PostboxDecoder) { self.queryId = decoder.decodeInt64ForKey("q", orElse: 0) self.id = decoder.decodeStringForKey("i", orElse: "") + self.hideVia = decoder.decodeBoolForKey("v", orElse: false) } public func encode(_ encoder: PostboxEncoder) { encoder.encodeInt64(self.queryId, forKey: "q") encoder.encodeString(self.id, forKey: "i") + encoder.encodeBool(self.hideVia, forKey: "v") } } diff --git a/TelegramCore/OutgoingMessageWithChatContextResult.swift b/TelegramCore/OutgoingMessageWithChatContextResult.swift index 5f66f47f02..5eea1f7ae2 100644 --- a/TelegramCore/OutgoingMessageWithChatContextResult.swift +++ b/TelegramCore/OutgoingMessageWithChatContextResult.swift @@ -12,13 +12,12 @@ private func aspectFitSize(_ size: CGSize, to: CGSize) -> CGSize { return CGSize(width: floor(size.width * scale), height: floor(size.height * scale)) } -public func outgoingMessageWithChatContextResult(to peerId: PeerId, results: ChatContextResultCollection?, result: ChatContextResult) -> EnqueueMessage? { +public func outgoingMessageWithChatContextResult(to peerId: PeerId, results: ChatContextResultCollection, result: ChatContextResult, hideVia: Bool = false) -> EnqueueMessage? { var attributes: [MessageAttribute] = [] - if let results = results { - attributes.append(OutgoingChatContextResultMessageAttribute(queryId: result.queryId, id: result.id)) + attributes.append(OutgoingChatContextResultMessageAttribute(queryId: result.queryId, id: result.id, hideVia: hideVia)) + if !hideVia { attributes.append(InlineBotMessageAttribute(peerId: results.botId, title: nil)) } - switch result.message { case let .auto(caption, entities, replyMarkup): if let entities = entities { diff --git a/TelegramCore/PendingMessageManager.swift b/TelegramCore/PendingMessageManager.swift index b93e4a691e..789d6db17e 100644 --- a/TelegramCore/PendingMessageManager.swift +++ b/TelegramCore/PendingMessageManager.swift @@ -930,6 +930,9 @@ public final class PendingMessageManager { sendMessageRequest = .fail(MTRpcError(errorCode: 400, errorDescription: "internal")) } case let .chatContextResult(chatContextResult): + if chatContextResult.hideVia { + flags |= Int32(1 << 11) + } sendMessageRequest = network.request(Api.functions.messages.sendInlineBotResult(flags: flags, peer: inputPeer, replyToMsgId: replyMessageId, randomId: uniqueId, queryId: chatContextResult.queryId, id: chatContextResult.id)) |> map(NetworkRequestResult.result) case .messageScreenshot: