diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Data/PeersData.swift b/submodules/TelegramCore/Sources/TelegramEngine/Data/PeersData.swift index 0f832241c8..74c34c1c0b 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Data/PeersData.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Data/PeersData.swift @@ -2075,5 +2075,33 @@ public extension TelegramEngine.EngineData.Item { } } } + +public struct BotMenu: TelegramEngineDataItem, TelegramEngineMapKeyDataItem, PostboxViewDataItem { +public typealias Result = Optional + +fileprivate var id: EnginePeer.Id +public var mapKey: EnginePeer.Id { +return self.id +} + +public init(id: EnginePeer.Id) { +self.id = id +} + +var key: PostboxViewKey { +return .cachedPeerData(peerId: self.id) +} + +func extract(view: PostboxView) -> Result { +guard let view = view as? CachedPeerDataView else { +preconditionFailure() +} +if let cachedData = view.cachedPeerData as? CachedUserData { +return cachedData.botInfo?.menuButton +} else { +return nil +} +} +} } }