mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-24 09:06:30 +00:00
Update API [skip ci]
This commit is contained in:
parent
e16f2ff47f
commit
a3f9ba1fe0
@ -388,6 +388,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
|||||||
dict[-625298705] = { return Api.InputInvoice.parse_inputInvoicePremiumGiftStars($0) }
|
dict[-625298705] = { return Api.InputInvoice.parse_inputInvoicePremiumGiftStars($0) }
|
||||||
dict[-1020867857] = { return Api.InputInvoice.parse_inputInvoiceSlug($0) }
|
dict[-1020867857] = { return Api.InputInvoice.parse_inputInvoiceSlug($0) }
|
||||||
dict[-396206446] = { return Api.InputInvoice.parse_inputInvoiceStarGift($0) }
|
dict[-396206446] = { return Api.InputInvoice.parse_inputInvoiceStarGift($0) }
|
||||||
|
dict[-1710536520] = { return Api.InputInvoice.parse_inputInvoiceStarGiftPrepaidUpgrade($0) }
|
||||||
dict[-1012968668] = { return Api.InputInvoice.parse_inputInvoiceStarGiftResale($0) }
|
dict[-1012968668] = { return Api.InputInvoice.parse_inputInvoiceStarGiftResale($0) }
|
||||||
dict[1247763417] = { return Api.InputInvoice.parse_inputInvoiceStarGiftTransfer($0) }
|
dict[1247763417] = { return Api.InputInvoice.parse_inputInvoiceStarGiftTransfer($0) }
|
||||||
dict[1300335965] = { return Api.InputInvoice.parse_inputInvoiceStarGiftUpgrade($0) }
|
dict[1300335965] = { return Api.InputInvoice.parse_inputInvoiceStarGiftUpgrade($0) }
|
||||||
@ -880,7 +881,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
|||||||
dict[1681948327] = { return Api.SavedDialog.parse_monoForumDialog($0) }
|
dict[1681948327] = { return Api.SavedDialog.parse_monoForumDialog($0) }
|
||||||
dict[-1115174036] = { return Api.SavedDialog.parse_savedDialog($0) }
|
dict[-1115174036] = { return Api.SavedDialog.parse_savedDialog($0) }
|
||||||
dict[-881854424] = { return Api.SavedReactionTag.parse_savedReactionTag($0) }
|
dict[-881854424] = { return Api.SavedReactionTag.parse_savedReactionTag($0) }
|
||||||
dict[514213599] = { return Api.SavedStarGift.parse_savedStarGift($0) }
|
dict[430552434] = { return Api.SavedStarGift.parse_savedStarGift($0) }
|
||||||
dict[1040931690] = { return Api.SearchPostsFlood.parse_searchPostsFlood($0) }
|
dict[1040931690] = { return Api.SearchPostsFlood.parse_searchPostsFlood($0) }
|
||||||
dict[-911191137] = { return Api.SearchResultsCalendarPeriod.parse_searchResultsCalendarPeriod($0) }
|
dict[-911191137] = { return Api.SearchResultsCalendarPeriod.parse_searchResultsCalendarPeriod($0) }
|
||||||
dict[2137295719] = { return Api.SearchResultsPosition.parse_searchResultPosition($0) }
|
dict[2137295719] = { return Api.SearchResultsPosition.parse_searchResultPosition($0) }
|
||||||
|
|||||||
@ -255,6 +255,7 @@ public extension Api {
|
|||||||
case inputInvoicePremiumGiftStars(flags: Int32, userId: Api.InputUser, months: Int32, message: Api.TextWithEntities?)
|
case inputInvoicePremiumGiftStars(flags: Int32, userId: Api.InputUser, months: Int32, message: Api.TextWithEntities?)
|
||||||
case inputInvoiceSlug(slug: String)
|
case inputInvoiceSlug(slug: String)
|
||||||
case inputInvoiceStarGift(flags: Int32, peer: Api.InputPeer, giftId: Int64, message: Api.TextWithEntities?)
|
case inputInvoiceStarGift(flags: Int32, peer: Api.InputPeer, giftId: Int64, message: Api.TextWithEntities?)
|
||||||
|
case inputInvoiceStarGiftPrepaidUpgrade(peer: Api.InputPeer, hash: String)
|
||||||
case inputInvoiceStarGiftResale(flags: Int32, slug: String, toId: Api.InputPeer)
|
case inputInvoiceStarGiftResale(flags: Int32, slug: String, toId: Api.InputPeer)
|
||||||
case inputInvoiceStarGiftTransfer(stargift: Api.InputSavedStarGift, toId: Api.InputPeer)
|
case inputInvoiceStarGiftTransfer(stargift: Api.InputSavedStarGift, toId: Api.InputPeer)
|
||||||
case inputInvoiceStarGiftUpgrade(flags: Int32, stargift: Api.InputSavedStarGift)
|
case inputInvoiceStarGiftUpgrade(flags: Int32, stargift: Api.InputSavedStarGift)
|
||||||
@ -313,6 +314,13 @@ public extension Api {
|
|||||||
serializeInt64(giftId, buffer: buffer, boxed: false)
|
serializeInt64(giftId, buffer: buffer, boxed: false)
|
||||||
if Int(flags) & Int(1 << 1) != 0 {message!.serialize(buffer, true)}
|
if Int(flags) & Int(1 << 1) != 0 {message!.serialize(buffer, true)}
|
||||||
break
|
break
|
||||||
|
case .inputInvoiceStarGiftPrepaidUpgrade(let peer, let hash):
|
||||||
|
if boxed {
|
||||||
|
buffer.appendInt32(-1710536520)
|
||||||
|
}
|
||||||
|
peer.serialize(buffer, true)
|
||||||
|
serializeString(hash, buffer: buffer, boxed: false)
|
||||||
|
break
|
||||||
case .inputInvoiceStarGiftResale(let flags, let slug, let toId):
|
case .inputInvoiceStarGiftResale(let flags, let slug, let toId):
|
||||||
if boxed {
|
if boxed {
|
||||||
buffer.appendInt32(-1012968668)
|
buffer.appendInt32(-1012968668)
|
||||||
@ -360,6 +368,8 @@ public extension Api {
|
|||||||
return ("inputInvoiceSlug", [("slug", slug as Any)])
|
return ("inputInvoiceSlug", [("slug", slug as Any)])
|
||||||
case .inputInvoiceStarGift(let flags, let peer, let giftId, let message):
|
case .inputInvoiceStarGift(let flags, let peer, let giftId, let message):
|
||||||
return ("inputInvoiceStarGift", [("flags", flags as Any), ("peer", peer as Any), ("giftId", giftId as Any), ("message", message as Any)])
|
return ("inputInvoiceStarGift", [("flags", flags as Any), ("peer", peer as Any), ("giftId", giftId as Any), ("message", message as Any)])
|
||||||
|
case .inputInvoiceStarGiftPrepaidUpgrade(let peer, let hash):
|
||||||
|
return ("inputInvoiceStarGiftPrepaidUpgrade", [("peer", peer as Any), ("hash", hash as Any)])
|
||||||
case .inputInvoiceStarGiftResale(let flags, let slug, let toId):
|
case .inputInvoiceStarGiftResale(let flags, let slug, let toId):
|
||||||
return ("inputInvoiceStarGiftResale", [("flags", flags as Any), ("slug", slug as Any), ("toId", toId as Any)])
|
return ("inputInvoiceStarGiftResale", [("flags", flags as Any), ("slug", slug as Any), ("toId", toId as Any)])
|
||||||
case .inputInvoiceStarGiftTransfer(let stargift, let toId):
|
case .inputInvoiceStarGiftTransfer(let stargift, let toId):
|
||||||
@ -491,6 +501,22 @@ public extension Api {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static func parse_inputInvoiceStarGiftPrepaidUpgrade(_ reader: BufferReader) -> InputInvoice? {
|
||||||
|
var _1: Api.InputPeer?
|
||||||
|
if let signature = reader.readInt32() {
|
||||||
|
_1 = Api.parse(reader, signature: signature) as? Api.InputPeer
|
||||||
|
}
|
||||||
|
var _2: String?
|
||||||
|
_2 = parseString(reader)
|
||||||
|
let _c1 = _1 != nil
|
||||||
|
let _c2 = _2 != nil
|
||||||
|
if _c1 && _c2 {
|
||||||
|
return Api.InputInvoice.inputInvoiceStarGiftPrepaidUpgrade(peer: _1!, hash: _2!)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
public static func parse_inputInvoiceStarGiftResale(_ reader: BufferReader) -> InputInvoice? {
|
public static func parse_inputInvoiceStarGiftResale(_ reader: BufferReader) -> InputInvoice? {
|
||||||
var _1: Int32?
|
var _1: Int32?
|
||||||
_1 = reader.readInt32()
|
_1 = reader.readInt32()
|
||||||
|
|||||||
@ -196,13 +196,13 @@ public extension Api {
|
|||||||
}
|
}
|
||||||
public extension Api {
|
public extension Api {
|
||||||
enum SavedStarGift: TypeConstructorDescription {
|
enum SavedStarGift: TypeConstructorDescription {
|
||||||
case savedStarGift(flags: Int32, fromId: Api.Peer?, date: Int32, gift: Api.StarGift, message: Api.TextWithEntities?, msgId: Int32?, savedId: Int64?, convertStars: Int64?, upgradeStars: Int64?, canExportAt: Int32?, transferStars: Int64?, canTransferAt: Int32?, canResellAt: Int32?, collectionId: [Int32]?)
|
case savedStarGift(flags: Int32, fromId: Api.Peer?, date: Int32, gift: Api.StarGift, message: Api.TextWithEntities?, msgId: Int32?, savedId: Int64?, convertStars: Int64?, upgradeStars: Int64?, canExportAt: Int32?, transferStars: Int64?, canTransferAt: Int32?, canResellAt: Int32?, collectionId: [Int32]?, prepaidUpgradeHash: String?)
|
||||||
|
|
||||||
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||||
switch self {
|
switch self {
|
||||||
case .savedStarGift(let flags, let fromId, let date, let gift, let message, let msgId, let savedId, let convertStars, let upgradeStars, let canExportAt, let transferStars, let canTransferAt, let canResellAt, let collectionId):
|
case .savedStarGift(let flags, let fromId, let date, let gift, let message, let msgId, let savedId, let convertStars, let upgradeStars, let canExportAt, let transferStars, let canTransferAt, let canResellAt, let collectionId, let prepaidUpgradeHash):
|
||||||
if boxed {
|
if boxed {
|
||||||
buffer.appendInt32(514213599)
|
buffer.appendInt32(430552434)
|
||||||
}
|
}
|
||||||
serializeInt32(flags, buffer: buffer, boxed: false)
|
serializeInt32(flags, buffer: buffer, boxed: false)
|
||||||
if Int(flags) & Int(1 << 1) != 0 {fromId!.serialize(buffer, true)}
|
if Int(flags) & Int(1 << 1) != 0 {fromId!.serialize(buffer, true)}
|
||||||
@ -222,14 +222,15 @@ public extension Api {
|
|||||||
for item in collectionId! {
|
for item in collectionId! {
|
||||||
serializeInt32(item, buffer: buffer, boxed: false)
|
serializeInt32(item, buffer: buffer, boxed: false)
|
||||||
}}
|
}}
|
||||||
|
if Int(flags) & Int(1 << 16) != 0 {serializeString(prepaidUpgradeHash!, buffer: buffer, boxed: false)}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public func descriptionFields() -> (String, [(String, Any)]) {
|
public func descriptionFields() -> (String, [(String, Any)]) {
|
||||||
switch self {
|
switch self {
|
||||||
case .savedStarGift(let flags, let fromId, let date, let gift, let message, let msgId, let savedId, let convertStars, let upgradeStars, let canExportAt, let transferStars, let canTransferAt, let canResellAt, let collectionId):
|
case .savedStarGift(let flags, let fromId, let date, let gift, let message, let msgId, let savedId, let convertStars, let upgradeStars, let canExportAt, let transferStars, let canTransferAt, let canResellAt, let collectionId, let prepaidUpgradeHash):
|
||||||
return ("savedStarGift", [("flags", flags as Any), ("fromId", fromId as Any), ("date", date as Any), ("gift", gift as Any), ("message", message as Any), ("msgId", msgId as Any), ("savedId", savedId as Any), ("convertStars", convertStars as Any), ("upgradeStars", upgradeStars as Any), ("canExportAt", canExportAt as Any), ("transferStars", transferStars as Any), ("canTransferAt", canTransferAt as Any), ("canResellAt", canResellAt as Any), ("collectionId", collectionId as Any)])
|
return ("savedStarGift", [("flags", flags as Any), ("fromId", fromId as Any), ("date", date as Any), ("gift", gift as Any), ("message", message as Any), ("msgId", msgId as Any), ("savedId", savedId as Any), ("convertStars", convertStars as Any), ("upgradeStars", upgradeStars as Any), ("canExportAt", canExportAt as Any), ("transferStars", transferStars as Any), ("canTransferAt", canTransferAt as Any), ("canResellAt", canResellAt as Any), ("collectionId", collectionId as Any), ("prepaidUpgradeHash", prepaidUpgradeHash as Any)])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,6 +271,8 @@ public extension Api {
|
|||||||
if Int(_1!) & Int(1 << 15) != 0 {if let _ = reader.readInt32() {
|
if Int(_1!) & Int(1 << 15) != 0 {if let _ = reader.readInt32() {
|
||||||
_14 = Api.parseVector(reader, elementSignature: -1471112230, elementType: Int32.self)
|
_14 = Api.parseVector(reader, elementSignature: -1471112230, elementType: Int32.self)
|
||||||
} }
|
} }
|
||||||
|
var _15: String?
|
||||||
|
if Int(_1!) & Int(1 << 16) != 0 {_15 = parseString(reader) }
|
||||||
let _c1 = _1 != nil
|
let _c1 = _1 != nil
|
||||||
let _c2 = (Int(_1!) & Int(1 << 1) == 0) || _2 != nil
|
let _c2 = (Int(_1!) & Int(1 << 1) == 0) || _2 != nil
|
||||||
let _c3 = _3 != nil
|
let _c3 = _3 != nil
|
||||||
@ -284,8 +287,9 @@ public extension Api {
|
|||||||
let _c12 = (Int(_1!) & Int(1 << 13) == 0) || _12 != nil
|
let _c12 = (Int(_1!) & Int(1 << 13) == 0) || _12 != nil
|
||||||
let _c13 = (Int(_1!) & Int(1 << 14) == 0) || _13 != nil
|
let _c13 = (Int(_1!) & Int(1 << 14) == 0) || _13 != nil
|
||||||
let _c14 = (Int(_1!) & Int(1 << 15) == 0) || _14 != nil
|
let _c14 = (Int(_1!) & Int(1 << 15) == 0) || _14 != nil
|
||||||
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 {
|
let _c15 = (Int(_1!) & Int(1 << 16) == 0) || _15 != nil
|
||||||
return Api.SavedStarGift.savedStarGift(flags: _1!, fromId: _2, date: _3!, gift: _4!, message: _5, msgId: _6, savedId: _7, convertStars: _8, upgradeStars: _9, canExportAt: _10, transferStars: _11, canTransferAt: _12, canResellAt: _13, collectionId: _14)
|
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 {
|
||||||
|
return Api.SavedStarGift.savedStarGift(flags: _1!, fromId: _2, date: _3!, gift: _4!, message: _5, msgId: _6, savedId: _7, convertStars: _8, upgradeStars: _9, canExportAt: _10, transferStars: _11, canTransferAt: _12, canResellAt: _13, collectionId: _14, prepaidUpgradeHash: _15)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@ -191,12 +191,12 @@ func telegramMediaActionFromApiAction(_ action: Api.MessageAction) -> TelegramMe
|
|||||||
guard let gift = StarGift(apiStarGift: apiGift) else {
|
guard let gift = StarGift(apiStarGift: apiGift) else {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return TelegramMediaAction(action: .starGift(gift: gift, convertStars: convertStars, text: text, entities: entities, nameHidden: (flags & (1 << 0)) != 0, savedToProfile: (flags & (1 << 2)) != 0, converted: (flags & (1 << 3)) != 0, upgraded: (flags & (1 << 5)) != 0, canUpgrade: (flags & (1 << 10)) != 0, upgradeStars: upgradeStars, isRefunded: (flags & (1 << 9)) != 0, upgradeMessageId: upgradeMessageId, peerId: peer?.peerId, senderId: fromId?.peerId, savedId: savedId))
|
return TelegramMediaAction(action: .starGift(gift: gift, convertStars: convertStars, text: text, entities: entities, nameHidden: (flags & (1 << 0)) != 0, savedToProfile: (flags & (1 << 2)) != 0, converted: (flags & (1 << 3)) != 0, upgraded: (flags & (1 << 5)) != 0, canUpgrade: (flags & (1 << 10)) != 0, upgradeStars: upgradeStars, isRefunded: (flags & (1 << 9)) != 0, isPrepaidUpgrade: (flags & (1 << 13)) != 0, upgradeMessageId: upgradeMessageId, peerId: peer?.peerId, senderId: fromId?.peerId, savedId: savedId))
|
||||||
case let .messageActionStarGiftUnique(flags, apiGift, canExportAt, transferStars, fromId, peer, savedId, resaleAmount, canTransferDate, canResaleDate):
|
case let .messageActionStarGiftUnique(flags, apiGift, canExportAt, transferStars, fromId, peer, savedId, resaleAmount, canTransferDate, canResaleDate):
|
||||||
guard let gift = StarGift(apiStarGift: apiGift) else {
|
guard let gift = StarGift(apiStarGift: apiGift) else {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return TelegramMediaAction(action: .starGiftUnique(gift: gift, isUpgrade: (flags & (1 << 0)) != 0, isTransferred: (flags & (1 << 1)) != 0, savedToProfile: (flags & (1 << 2)) != 0, canExportDate: canExportAt, transferStars: transferStars, isRefunded: (flags & (1 << 5)) != 0, peerId: peer?.peerId, senderId: fromId?.peerId, savedId: savedId, resaleAmount: resaleAmount.flatMap { CurrencyAmount(apiAmount: $0) }, canTransferDate: canTransferDate, canResaleDate: canResaleDate))
|
return TelegramMediaAction(action: .starGiftUnique(gift: gift, isUpgrade: (flags & (1 << 0)) != 0, isTransferred: (flags & (1 << 1)) != 0, savedToProfile: (flags & (1 << 2)) != 0, canExportDate: canExportAt, transferStars: transferStars, isRefunded: (flags & (1 << 5)) != 0, isPrepaidUpgrade: (flags & (1 << 11)) != 0, peerId: peer?.peerId, senderId: fromId?.peerId, savedId: savedId, resaleAmount: resaleAmount.flatMap { CurrencyAmount(apiAmount: $0) }, canTransferDate: canTransferDate, canResaleDate: canResaleDate))
|
||||||
case let .messageActionPaidMessagesRefunded(count, stars):
|
case let .messageActionPaidMessagesRefunded(count, stars):
|
||||||
return TelegramMediaAction(action: .paidMessagesRefunded(count: count, stars: stars))
|
return TelegramMediaAction(action: .paidMessagesRefunded(count: count, stars: stars))
|
||||||
case let .messageActionPaidMessagesPrice(flags, stars):
|
case let .messageActionPaidMessagesPrice(flags, stars):
|
||||||
|
|||||||
@ -243,8 +243,8 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
case paymentRefunded(peerId: PeerId, currency: String, totalAmount: Int64, payload: Data?, transactionId: String)
|
case paymentRefunded(peerId: PeerId, currency: String, totalAmount: Int64, payload: Data?, transactionId: String)
|
||||||
case giftStars(currency: String, amount: Int64, count: Int64, cryptoCurrency: String?, cryptoAmount: Int64?, transactionId: String?)
|
case giftStars(currency: String, amount: Int64, count: Int64, cryptoCurrency: String?, cryptoAmount: Int64?, transactionId: String?)
|
||||||
case prizeStars(amount: Int64, isUnclaimed: Bool, boostPeerId: PeerId?, transactionId: String?, giveawayMessageId: MessageId?)
|
case prizeStars(amount: Int64, isUnclaimed: Bool, boostPeerId: PeerId?, transactionId: String?, giveawayMessageId: MessageId?)
|
||||||
case starGift(gift: StarGift, convertStars: Int64?, text: String?, entities: [MessageTextEntity]?, nameHidden: Bool, savedToProfile: Bool, converted: Bool, upgraded: Bool, canUpgrade: Bool, upgradeStars: Int64?, isRefunded: Bool, upgradeMessageId: Int32?, peerId: EnginePeer.Id?, senderId: EnginePeer.Id?, savedId: Int64?)
|
case starGift(gift: StarGift, convertStars: Int64?, text: String?, entities: [MessageTextEntity]?, nameHidden: Bool, savedToProfile: Bool, converted: Bool, upgraded: Bool, canUpgrade: Bool, upgradeStars: Int64?, isRefunded: Bool, isPrepaidUpgrade: Bool, upgradeMessageId: Int32?, peerId: EnginePeer.Id?, senderId: EnginePeer.Id?, savedId: Int64?)
|
||||||
case starGiftUnique(gift: StarGift, isUpgrade: Bool, isTransferred: Bool, savedToProfile: Bool, canExportDate: Int32?, transferStars: Int64?, isRefunded: Bool, peerId: EnginePeer.Id?, senderId: EnginePeer.Id?, savedId: Int64?, resaleAmount: CurrencyAmount?, canTransferDate: Int32?, canResaleDate: Int32?)
|
case starGiftUnique(gift: StarGift, isUpgrade: Bool, isTransferred: Bool, savedToProfile: Bool, canExportDate: Int32?, transferStars: Int64?, isRefunded: Bool, isPrepaidUpgrade: Bool, peerId: EnginePeer.Id?, senderId: EnginePeer.Id?, savedId: Int64?, resaleAmount: CurrencyAmount?, canTransferDate: Int32?, canResaleDate: Int32?)
|
||||||
case paidMessagesRefunded(count: Int32, stars: Int64)
|
case paidMessagesRefunded(count: Int32, stars: Int64)
|
||||||
case paidMessagesPriceEdited(stars: Int64, broadcastMessagesAllowed: Bool)
|
case paidMessagesPriceEdited(stars: Int64, broadcastMessagesAllowed: Bool)
|
||||||
case conferenceCall(ConferenceCall)
|
case conferenceCall(ConferenceCall)
|
||||||
@ -375,7 +375,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
}
|
}
|
||||||
self = .prizeStars(amount: decoder.decodeInt64ForKey("amount", orElse: 0), isUnclaimed: decoder.decodeBoolForKey("unclaimed", orElse: false), boostPeerId: boostPeerId, transactionId: decoder.decodeOptionalStringForKey("transactionId"), giveawayMessageId: giveawayMessageId)
|
self = .prizeStars(amount: decoder.decodeInt64ForKey("amount", orElse: 0), isUnclaimed: decoder.decodeBoolForKey("unclaimed", orElse: false), boostPeerId: boostPeerId, transactionId: decoder.decodeOptionalStringForKey("transactionId"), giveawayMessageId: giveawayMessageId)
|
||||||
case 44:
|
case 44:
|
||||||
self = .starGift(gift: decoder.decodeObjectForKey("gift", decoder: { StarGift(decoder: $0) }) as! StarGift, convertStars: decoder.decodeOptionalInt64ForKey("convertStars"), text: decoder.decodeOptionalStringForKey("text"), entities: decoder.decodeOptionalObjectArrayWithDecoderForKey("entities"), nameHidden: decoder.decodeBoolForKey("nameHidden", orElse: false), savedToProfile: decoder.decodeBoolForKey("savedToProfile", orElse: false), converted: decoder.decodeBoolForKey("converted", orElse: false), upgraded: decoder.decodeBoolForKey("upgraded", orElse: false), canUpgrade: decoder.decodeBoolForKey("canUpgrade", orElse: false), upgradeStars: decoder.decodeOptionalInt64ForKey("upgradeStars"), isRefunded: decoder.decodeBoolForKey("isRefunded", orElse: false), upgradeMessageId: decoder.decodeOptionalInt32ForKey("upgradeMessageId"), peerId: decoder.decodeOptionalInt64ForKey("peerId").flatMap { EnginePeer.Id($0) }, senderId: decoder.decodeOptionalInt64ForKey("senderId").flatMap { EnginePeer.Id($0) }, savedId: decoder.decodeOptionalInt64ForKey("savedId"))
|
self = .starGift(gift: decoder.decodeObjectForKey("gift", decoder: { StarGift(decoder: $0) }) as! StarGift, convertStars: decoder.decodeOptionalInt64ForKey("convertStars"), text: decoder.decodeOptionalStringForKey("text"), entities: decoder.decodeOptionalObjectArrayWithDecoderForKey("entities"), nameHidden: decoder.decodeBoolForKey("nameHidden", orElse: false), savedToProfile: decoder.decodeBoolForKey("savedToProfile", orElse: false), converted: decoder.decodeBoolForKey("converted", orElse: false), upgraded: decoder.decodeBoolForKey("upgraded", orElse: false), canUpgrade: decoder.decodeBoolForKey("canUpgrade", orElse: false), upgradeStars: decoder.decodeOptionalInt64ForKey("upgradeStars"), isRefunded: decoder.decodeBoolForKey("isRefunded", orElse: false), isPrepaidUpgrade: decoder.decodeBoolForKey("isPrepaidUpgrade", orElse: false), upgradeMessageId: decoder.decodeOptionalInt32ForKey("upgradeMessageId"), peerId: decoder.decodeOptionalInt64ForKey("peerId").flatMap { EnginePeer.Id($0) }, senderId: decoder.decodeOptionalInt64ForKey("senderId").flatMap { EnginePeer.Id($0) }, savedId: decoder.decodeOptionalInt64ForKey("savedId"))
|
||||||
case 45:
|
case 45:
|
||||||
var resaleAmount: CurrencyAmount?
|
var resaleAmount: CurrencyAmount?
|
||||||
if let amount = decoder.decodeCodable(CurrencyAmount.self, forKey: "resaleAmount") {
|
if let amount = decoder.decodeCodable(CurrencyAmount.self, forKey: "resaleAmount") {
|
||||||
@ -383,7 +383,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
} else if let stars = decoder.decodeOptionalInt64ForKey("resaleStars") {
|
} else if let stars = decoder.decodeOptionalInt64ForKey("resaleStars") {
|
||||||
resaleAmount = CurrencyAmount(amount: StarsAmount(value: stars, nanos: 0), currency: .stars)
|
resaleAmount = CurrencyAmount(amount: StarsAmount(value: stars, nanos: 0), currency: .stars)
|
||||||
}
|
}
|
||||||
self = .starGiftUnique(gift: decoder.decodeObjectForKey("gift", decoder: { StarGift(decoder: $0) }) as! StarGift, isUpgrade: decoder.decodeBoolForKey("isUpgrade", orElse: false), isTransferred: decoder.decodeBoolForKey("isTransferred", orElse: false), savedToProfile: decoder.decodeBoolForKey("savedToProfile", orElse: false), canExportDate: decoder.decodeOptionalInt32ForKey("canExportDate"), transferStars: decoder.decodeOptionalInt64ForKey("transferStars"), isRefunded: decoder.decodeBoolForKey("isRefunded", orElse: false), peerId: decoder.decodeOptionalInt64ForKey("peerId").flatMap { EnginePeer.Id($0) }, senderId: decoder.decodeOptionalInt64ForKey("senderId").flatMap { EnginePeer.Id($0) }, savedId: decoder.decodeOptionalInt64ForKey("savedId"), resaleAmount: resaleAmount, canTransferDate: decoder.decodeOptionalInt32ForKey("canTransferDate"), canResaleDate: decoder.decodeOptionalInt32ForKey("canResaleDate"))
|
self = .starGiftUnique(gift: decoder.decodeObjectForKey("gift", decoder: { StarGift(decoder: $0) }) as! StarGift, isUpgrade: decoder.decodeBoolForKey("isUpgrade", orElse: false), isTransferred: decoder.decodeBoolForKey("isTransferred", orElse: false), savedToProfile: decoder.decodeBoolForKey("savedToProfile", orElse: false), canExportDate: decoder.decodeOptionalInt32ForKey("canExportDate"), transferStars: decoder.decodeOptionalInt64ForKey("transferStars"), isRefunded: decoder.decodeBoolForKey("isRefunded", orElse: false), isPrepaidUpgrade: decoder.decodeBoolForKey("isPrepaidUpgrade", orElse: false), peerId: decoder.decodeOptionalInt64ForKey("peerId").flatMap { EnginePeer.Id($0) }, senderId: decoder.decodeOptionalInt64ForKey("senderId").flatMap { EnginePeer.Id($0) }, savedId: decoder.decodeOptionalInt64ForKey("savedId"), resaleAmount: resaleAmount, canTransferDate: decoder.decodeOptionalInt32ForKey("canTransferDate"), canResaleDate: decoder.decodeOptionalInt32ForKey("canResaleDate"))
|
||||||
case 46:
|
case 46:
|
||||||
self = .paidMessagesRefunded(count: decoder.decodeInt32ForKey("count", orElse: 0), stars: decoder.decodeInt64ForKey("stars", orElse: 0))
|
self = .paidMessagesRefunded(count: decoder.decodeInt32ForKey("count", orElse: 0), stars: decoder.decodeInt64ForKey("stars", orElse: 0))
|
||||||
case 47:
|
case 47:
|
||||||
@ -705,7 +705,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
} else {
|
} else {
|
||||||
encoder.encodeNil(forKey: "giveawayMsgId")
|
encoder.encodeNil(forKey: "giveawayMsgId")
|
||||||
}
|
}
|
||||||
case let .starGift(gift, convertStars, text, entities, nameHidden, savedToProfile, converted, upgraded, canUpgrade, upgradeStars, isRefunded, upgradeMessageId, peerId, senderId, savedId):
|
case let .starGift(gift, convertStars, text, entities, nameHidden, savedToProfile, converted, upgraded, canUpgrade, upgradeStars, isRefunded, isPrepaidUpgrade, upgradeMessageId, peerId, senderId, savedId):
|
||||||
encoder.encodeInt32(44, forKey: "_rawValue")
|
encoder.encodeInt32(44, forKey: "_rawValue")
|
||||||
encoder.encodeObject(gift, forKey: "gift")
|
encoder.encodeObject(gift, forKey: "gift")
|
||||||
if let convertStars {
|
if let convertStars {
|
||||||
@ -731,6 +731,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
encoder.encodeNil(forKey: "upgradeStars")
|
encoder.encodeNil(forKey: "upgradeStars")
|
||||||
}
|
}
|
||||||
encoder.encodeBool(isRefunded, forKey: "isRefunded")
|
encoder.encodeBool(isRefunded, forKey: "isRefunded")
|
||||||
|
encoder.encodeBool(isPrepaidUpgrade, forKey: "isPrepaidUpgrade")
|
||||||
if let upgradeMessageId {
|
if let upgradeMessageId {
|
||||||
encoder.encodeInt32(upgradeMessageId, forKey: "upgradeMessageId")
|
encoder.encodeInt32(upgradeMessageId, forKey: "upgradeMessageId")
|
||||||
} else {
|
} else {
|
||||||
@ -751,7 +752,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
} else {
|
} else {
|
||||||
encoder.encodeNil(forKey: "savedId")
|
encoder.encodeNil(forKey: "savedId")
|
||||||
}
|
}
|
||||||
case let .starGiftUnique(gift, isUpgrade, isTransferred, savedToProfile, canExportDate, transferStars, isRefunded, peerId, senderId, savedId, resaleAmount, canTransferDate, canResaleDate):
|
case let .starGiftUnique(gift, isUpgrade, isTransferred, savedToProfile, canExportDate, transferStars, isRefunded, isPrepaidUpgrade, peerId, senderId, savedId, resaleAmount, canTransferDate, canResaleDate):
|
||||||
encoder.encodeInt32(45, forKey: "_rawValue")
|
encoder.encodeInt32(45, forKey: "_rawValue")
|
||||||
encoder.encodeObject(gift, forKey: "gift")
|
encoder.encodeObject(gift, forKey: "gift")
|
||||||
encoder.encodeBool(isUpgrade, forKey: "isUpgrade")
|
encoder.encodeBool(isUpgrade, forKey: "isUpgrade")
|
||||||
@ -768,6 +769,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
encoder.encodeNil(forKey: "transferStars")
|
encoder.encodeNil(forKey: "transferStars")
|
||||||
}
|
}
|
||||||
encoder.encodeBool(isRefunded, forKey: "isRefunded")
|
encoder.encodeBool(isRefunded, forKey: "isRefunded")
|
||||||
|
encoder.encodeBool(isPrepaidUpgrade, forKey: "isPrepaidUpgrade")
|
||||||
if let peerId {
|
if let peerId {
|
||||||
encoder.encodeInt64(peerId.toInt64(), forKey: "peerId")
|
encoder.encodeInt64(peerId.toInt64(), forKey: "peerId")
|
||||||
} else {
|
} else {
|
||||||
@ -875,7 +877,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
return [peerId]
|
return [peerId]
|
||||||
case let .prizeStars(_, _, boostPeerId, _, _):
|
case let .prizeStars(_, _, boostPeerId, _, _):
|
||||||
return boostPeerId.flatMap { [$0] } ?? []
|
return boostPeerId.flatMap { [$0] } ?? []
|
||||||
case let .starGift(gift, _, _, _, _, _, _, _, _, _, _, _, peerId, senderId, _):
|
case let .starGift(gift, _, _, _, _, _, _, _, _, _, _, _, _, peerId, senderId, _):
|
||||||
var peerIds: [PeerId] = []
|
var peerIds: [PeerId] = []
|
||||||
if let peerId {
|
if let peerId {
|
||||||
peerIds.append(peerId)
|
peerIds.append(peerId)
|
||||||
@ -887,7 +889,7 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
|||||||
peerIds.append(releasedBy)
|
peerIds.append(releasedBy)
|
||||||
}
|
}
|
||||||
return peerIds
|
return peerIds
|
||||||
case let .starGiftUnique(gift, _, _, _, _, _, _, peerId, senderId, _, _, _, _):
|
case let .starGiftUnique(gift, _, _, _, _, _, _, _, peerId, senderId, _, _, _, _):
|
||||||
var peerIds: [PeerId] = []
|
var peerIds: [PeerId] = []
|
||||||
if let peerId {
|
if let peerId {
|
||||||
peerIds.append(peerId)
|
peerIds.append(peerId)
|
||||||
|
|||||||
@ -18,6 +18,7 @@ public enum BotPaymentInvoiceSource {
|
|||||||
case starGiftTransfer(reference: StarGiftReference, toPeerId: EnginePeer.Id)
|
case starGiftTransfer(reference: StarGiftReference, toPeerId: EnginePeer.Id)
|
||||||
case premiumGift(peerId: EnginePeer.Id, option: CachedPremiumGiftOption, text: String?, entities: [MessageTextEntity]?)
|
case premiumGift(peerId: EnginePeer.Id, option: CachedPremiumGiftOption, text: String?, entities: [MessageTextEntity]?)
|
||||||
case starGiftResale(slug: String, toPeerId: EnginePeer.Id, ton: Bool)
|
case starGiftResale(slug: String, toPeerId: EnginePeer.Id, ton: Bool)
|
||||||
|
case starGiftPrepaidUpgrade(peerId: EnginePeer.Id, hash: String)
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct BotPaymentInvoiceFields: OptionSet {
|
public struct BotPaymentInvoiceFields: OptionSet {
|
||||||
@ -412,6 +413,11 @@ func _internal_parseInputInvoice(transaction: Transaction, source: BotPaymentInv
|
|||||||
flags |= 1 << 0
|
flags |= 1 << 0
|
||||||
}
|
}
|
||||||
return .inputInvoiceStarGiftResale(flags: flags, slug: slug, toId: inputPeer)
|
return .inputInvoiceStarGiftResale(flags: flags, slug: slug, toId: inputPeer)
|
||||||
|
case let .starGiftPrepaidUpgrade(peerId, hash):
|
||||||
|
guard let peer = transaction.getPeer(peerId), let inputPeer = apiInputPeer(peer) else {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return .inputInvoiceStarGiftPrepaidUpgrade(peer: inputPeer, hash: hash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -753,7 +759,7 @@ func _internal_sendBotPaymentForm(account: Account, formId: Int64, source: BotPa
|
|||||||
receiptMessageId = id
|
receiptMessageId = id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case .giftCode, .stars, .starsGift, .starsChatSubscription, .starGift, .starGiftUpgrade, .starGiftTransfer, .premiumGift, .starGiftResale:
|
case .giftCode, .stars, .starsGift, .starsChatSubscription, .starGift, .starGiftUpgrade, .starGiftTransfer, .premiumGift, .starGiftResale, .starGiftPrepaidUpgrade:
|
||||||
receiptMessageId = nil
|
receiptMessageId = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1108,7 +1108,7 @@ func _internal_upgradeStarGift(account: Account, formId: Int64?, reference: Star
|
|||||||
case let .updateNewMessage(message, _, _):
|
case let .updateNewMessage(message, _, _):
|
||||||
if let message = StoreMessage(apiMessage: message, accountPeerId: account.peerId, peerIsForum: false) {
|
if let message = StoreMessage(apiMessage: message, accountPeerId: account.peerId, peerIsForum: false) {
|
||||||
for media in message.media {
|
for media in message.media {
|
||||||
if let action = media as? TelegramMediaAction, case let .starGiftUnique(gift, _, _, savedToProfile, canExportDate, transferStars, _, peerId, _, savedId, _, canTransferDate, canResaleDate) = action.action, case let .Id(messageId) = message.id {
|
if let action = media as? TelegramMediaAction, case let .starGiftUnique(gift, _, _, savedToProfile, canExportDate, transferStars, _, _, peerId, _, savedId, _, canTransferDate, canResaleDate) = action.action, case let .Id(messageId) = message.id {
|
||||||
let reference: StarGiftReference
|
let reference: StarGiftReference
|
||||||
if let peerId, let savedId {
|
if let peerId, let savedId {
|
||||||
reference = .peer(peerId: peerId, id: savedId)
|
reference = .peer(peerId: peerId, id: savedId)
|
||||||
@ -1132,7 +1132,8 @@ func _internal_upgradeStarGift(account: Account, formId: Int64?, reference: Star
|
|||||||
transferStars: transferStars,
|
transferStars: transferStars,
|
||||||
canTransferDate: canTransferDate,
|
canTransferDate: canTransferDate,
|
||||||
canResaleDate: canResaleDate,
|
canResaleDate: canResaleDate,
|
||||||
collectionIds: nil
|
collectionIds: nil,
|
||||||
|
prepaidUpgradeHash: nil
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1989,6 +1990,7 @@ public final class ProfileGiftsContext {
|
|||||||
case canTransferDate
|
case canTransferDate
|
||||||
case canResaleDate
|
case canResaleDate
|
||||||
case collectionIds
|
case collectionIds
|
||||||
|
case prepaidUpgradeHash
|
||||||
}
|
}
|
||||||
|
|
||||||
public let gift: TelegramCore.StarGift
|
public let gift: TelegramCore.StarGift
|
||||||
@ -2008,6 +2010,7 @@ public final class ProfileGiftsContext {
|
|||||||
public let canTransferDate: Int32?
|
public let canTransferDate: Int32?
|
||||||
public let canResaleDate: Int32?
|
public let canResaleDate: Int32?
|
||||||
public let collectionIds: [Int32]?
|
public let collectionIds: [Int32]?
|
||||||
|
public let prepaidUpgradeHash: String?
|
||||||
|
|
||||||
fileprivate let _fromPeerId: EnginePeer.Id?
|
fileprivate let _fromPeerId: EnginePeer.Id?
|
||||||
|
|
||||||
@ -2032,7 +2035,8 @@ public final class ProfileGiftsContext {
|
|||||||
transferStars: Int64?,
|
transferStars: Int64?,
|
||||||
canTransferDate: Int32?,
|
canTransferDate: Int32?,
|
||||||
canResaleDate: Int32?,
|
canResaleDate: Int32?,
|
||||||
collectionIds: [Int32]?
|
collectionIds: [Int32]?,
|
||||||
|
prepaidUpgradeHash: String?
|
||||||
) {
|
) {
|
||||||
self.gift = gift
|
self.gift = gift
|
||||||
self.reference = reference
|
self.reference = reference
|
||||||
@ -2052,6 +2056,7 @@ public final class ProfileGiftsContext {
|
|||||||
self.canTransferDate = canTransferDate
|
self.canTransferDate = canTransferDate
|
||||||
self.canResaleDate = canResaleDate
|
self.canResaleDate = canResaleDate
|
||||||
self.collectionIds = collectionIds
|
self.collectionIds = collectionIds
|
||||||
|
self.prepaidUpgradeHash = prepaidUpgradeHash
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
@ -2081,6 +2086,7 @@ public final class ProfileGiftsContext {
|
|||||||
self.canTransferDate = try container.decodeIfPresent(Int32.self, forKey: .canTransferDate)
|
self.canTransferDate = try container.decodeIfPresent(Int32.self, forKey: .canTransferDate)
|
||||||
self.canResaleDate = try container.decodeIfPresent(Int32.self, forKey: .canResaleDate)
|
self.canResaleDate = try container.decodeIfPresent(Int32.self, forKey: .canResaleDate)
|
||||||
self.collectionIds = try container.decodeIfPresent([Int32].self, forKey: .collectionIds)
|
self.collectionIds = try container.decodeIfPresent([Int32].self, forKey: .collectionIds)
|
||||||
|
self.prepaidUpgradeHash = try container.decodeIfPresent(String.self, forKey: .prepaidUpgradeHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
public func encode(to encoder: Encoder) throws {
|
||||||
@ -2103,6 +2109,7 @@ public final class ProfileGiftsContext {
|
|||||||
try container.encodeIfPresent(self.canTransferDate, forKey: .canTransferDate)
|
try container.encodeIfPresent(self.canTransferDate, forKey: .canTransferDate)
|
||||||
try container.encodeIfPresent(self.canResaleDate, forKey: .canResaleDate)
|
try container.encodeIfPresent(self.canResaleDate, forKey: .canResaleDate)
|
||||||
try container.encodeIfPresent(self.collectionIds, forKey: .collectionIds)
|
try container.encodeIfPresent(self.collectionIds, forKey: .collectionIds)
|
||||||
|
try container.encodeIfPresent(self.prepaidUpgradeHash, forKey: .prepaidUpgradeHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func withGift(_ gift: TelegramCore.StarGift) -> StarGift {
|
public func withGift(_ gift: TelegramCore.StarGift) -> StarGift {
|
||||||
@ -2123,7 +2130,8 @@ public final class ProfileGiftsContext {
|
|||||||
transferStars: self.transferStars,
|
transferStars: self.transferStars,
|
||||||
canTransferDate: self.canTransferDate,
|
canTransferDate: self.canTransferDate,
|
||||||
canResaleDate: self.canResaleDate,
|
canResaleDate: self.canResaleDate,
|
||||||
collectionIds: self.collectionIds
|
collectionIds: self.collectionIds,
|
||||||
|
prepaidUpgradeHash: self.prepaidUpgradeHash
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2145,7 +2153,8 @@ public final class ProfileGiftsContext {
|
|||||||
transferStars: self.transferStars,
|
transferStars: self.transferStars,
|
||||||
canTransferDate: self.canTransferDate,
|
canTransferDate: self.canTransferDate,
|
||||||
canResaleDate: self.canResaleDate,
|
canResaleDate: self.canResaleDate,
|
||||||
collectionIds: self.collectionIds
|
collectionIds: self.collectionIds,
|
||||||
|
prepaidUpgradeHash: self.prepaidUpgradeHash
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2167,7 +2176,8 @@ public final class ProfileGiftsContext {
|
|||||||
transferStars: self.transferStars,
|
transferStars: self.transferStars,
|
||||||
canTransferDate: self.canTransferDate,
|
canTransferDate: self.canTransferDate,
|
||||||
canResaleDate: self.canResaleDate,
|
canResaleDate: self.canResaleDate,
|
||||||
collectionIds: self.collectionIds
|
collectionIds: self.collectionIds,
|
||||||
|
prepaidUpgradeHash: self.prepaidUpgradeHash
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
fileprivate func withFromPeer(_ fromPeer: EnginePeer?) -> StarGift {
|
fileprivate func withFromPeer(_ fromPeer: EnginePeer?) -> StarGift {
|
||||||
@ -2188,7 +2198,8 @@ public final class ProfileGiftsContext {
|
|||||||
transferStars: self.transferStars,
|
transferStars: self.transferStars,
|
||||||
canTransferDate: self.canTransferDate,
|
canTransferDate: self.canTransferDate,
|
||||||
canResaleDate: self.canResaleDate,
|
canResaleDate: self.canResaleDate,
|
||||||
collectionIds: self.collectionIds
|
collectionIds: self.collectionIds,
|
||||||
|
prepaidUpgradeHash: self.prepaidUpgradeHash
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2210,7 +2221,8 @@ public final class ProfileGiftsContext {
|
|||||||
transferStars: self.transferStars,
|
transferStars: self.transferStars,
|
||||||
canTransferDate: self.canTransferDate,
|
canTransferDate: self.canTransferDate,
|
||||||
canResaleDate: self.canResaleDate,
|
canResaleDate: self.canResaleDate,
|
||||||
collectionIds: collectionIds
|
collectionIds: collectionIds,
|
||||||
|
prepaidUpgradeHash: self.prepaidUpgradeHash
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2220,7 +2232,6 @@ public final class ProfileGiftsContext {
|
|||||||
case ready(canLoadMore: Bool, nextOffset: String?)
|
case ready(canLoadMore: Bool, nextOffset: String?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public var filter: Filters
|
public var filter: Filters
|
||||||
public var sorting: Sorting
|
public var sorting: Sorting
|
||||||
public var gifts: [ProfileGiftsContext.State.StarGift]
|
public var gifts: [ProfileGiftsContext.State.StarGift]
|
||||||
@ -2414,7 +2425,7 @@ public final class ProfileGiftsContext {
|
|||||||
extension ProfileGiftsContext.State.StarGift {
|
extension ProfileGiftsContext.State.StarGift {
|
||||||
init?(apiSavedStarGift: Api.SavedStarGift, peerId: EnginePeer.Id, transaction: Transaction) {
|
init?(apiSavedStarGift: Api.SavedStarGift, peerId: EnginePeer.Id, transaction: Transaction) {
|
||||||
switch apiSavedStarGift {
|
switch apiSavedStarGift {
|
||||||
case let .savedStarGift(flags, fromId, date, apiGift, message, msgId, savedId, convertStars, upgradeStars, canExportDate, transferStars, canTransferAt, canResaleAt, collectionIds):
|
case let .savedStarGift(flags, fromId, date, apiGift, message, msgId, savedId, convertStars, upgradeStars, canExportDate, transferStars, canTransferAt, canResaleAt, collectionIds, prepaidUpgradeHash):
|
||||||
guard let gift = StarGift(apiStarGift: apiGift) else {
|
guard let gift = StarGift(apiStarGift: apiGift) else {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -2461,6 +2472,7 @@ extension ProfileGiftsContext.State.StarGift {
|
|||||||
self.canTransferDate = canTransferAt
|
self.canTransferDate = canTransferAt
|
||||||
self.canResaleDate = canResaleAt
|
self.canResaleDate = canResaleAt
|
||||||
self.collectionIds = collectionIds
|
self.collectionIds = collectionIds
|
||||||
|
self.prepaidUpgradeHash = prepaidUpgradeHash
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -723,6 +723,9 @@ private extension StarsContext.State.Transaction {
|
|||||||
if (apiFlags & (1 << 24)) != 0 {
|
if (apiFlags & (1 << 24)) != 0 {
|
||||||
flags.insert(.isPostsSearch)
|
flags.insert(.isPostsSearch)
|
||||||
}
|
}
|
||||||
|
if (apiFlags & (1 << 25)) != 0 {
|
||||||
|
flags.insert(.isStarGiftPrepaidUpgrade)
|
||||||
|
}
|
||||||
|
|
||||||
let media = extendedMedia.flatMap({ $0.compactMap { textMediaAndExpirationTimerFromApiMedia($0, PeerId(0)).media } }) ?? []
|
let media = extendedMedia.flatMap({ $0.compactMap { textMediaAndExpirationTimerFromApiMedia($0, PeerId(0)).media } }) ?? []
|
||||||
let _ = subscriptionPeriod
|
let _ = subscriptionPeriod
|
||||||
@ -778,6 +781,7 @@ public final class StarsContext {
|
|||||||
public static let isBusinessTransfer = Flags(rawValue: 1 << 8)
|
public static let isBusinessTransfer = Flags(rawValue: 1 << 8)
|
||||||
public static let isStarGiftResale = Flags(rawValue: 1 << 9)
|
public static let isStarGiftResale = Flags(rawValue: 1 << 9)
|
||||||
public static let isPostsSearch = Flags(rawValue: 1 << 10)
|
public static let isPostsSearch = Flags(rawValue: 1 << 10)
|
||||||
|
public static let isStarGiftPrepaidUpgrade = Flags(rawValue: 1 << 11)
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Peer: Equatable {
|
public enum Peer: Equatable {
|
||||||
@ -1622,10 +1626,10 @@ func _internal_sendStarsPaymentForm(account: Account, formId: Int64, source: Bot
|
|||||||
receiptMessageId = id
|
receiptMessageId = id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case .giftCode, .stars, .starsGift, .starsChatSubscription, .starGift, .starGiftUpgrade, .starGiftTransfer, .premiumGift, .starGiftResale:
|
case .giftCode, .stars, .starsGift, .starsChatSubscription, .starGift, .starGiftUpgrade, .starGiftTransfer, .premiumGift, .starGiftResale, .starGiftPrepaidUpgrade:
|
||||||
receiptMessageId = nil
|
receiptMessageId = nil
|
||||||
}
|
}
|
||||||
} else if case let .starGiftUnique(gift, _, _, savedToProfile, canExportDate, transferStars, _, peerId, _, savedId, _, canTransferDate, canResaleDate) = action.action, case let .Id(messageId) = message.id {
|
} else if case let .starGiftUnique(gift, _, _, savedToProfile, canExportDate, transferStars, _, _, peerId, _, savedId, _, canTransferDate, canResaleDate) = action.action, case let .Id(messageId) = message.id {
|
||||||
let reference: StarGiftReference
|
let reference: StarGiftReference
|
||||||
if let peerId, let savedId {
|
if let peerId, let savedId {
|
||||||
reference = .peer(peerId: peerId, id: savedId)
|
reference = .peer(peerId: peerId, id: savedId)
|
||||||
@ -1649,7 +1653,8 @@ func _internal_sendStarsPaymentForm(account: Account, formId: Int64, source: Bot
|
|||||||
transferStars: transferStars,
|
transferStars: transferStars,
|
||||||
canTransferDate: canTransferDate,
|
canTransferDate: canTransferDate,
|
||||||
canResaleDate: canResaleDate,
|
canResaleDate: canResaleDate,
|
||||||
collectionIds: nil
|
collectionIds: nil,
|
||||||
|
prepaidUpgradeHash: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -796,6 +796,7 @@ public func universalServiceMessageString(presentationData: (PresentationTheme,
|
|||||||
} else {
|
} else {
|
||||||
let price: String
|
let price: String
|
||||||
if currency == "XTR" {
|
if currency == "XTR" {
|
||||||
|
//TODO:localize
|
||||||
price = "\(amount) Stars"
|
price = "\(amount) Stars"
|
||||||
} else {
|
} else {
|
||||||
price = formatCurrencyAmount(amount, currency: currency)
|
price = formatCurrencyAmount(amount, currency: currency)
|
||||||
@ -1133,7 +1134,7 @@ public func universalServiceMessageString(presentationData: (PresentationTheme,
|
|||||||
attributedString = mutableString
|
attributedString = mutableString
|
||||||
case .prizeStars:
|
case .prizeStars:
|
||||||
attributedString = NSAttributedString(string: strings.Notification_StarsPrize, font: titleFont, textColor: primaryTextColor)
|
attributedString = NSAttributedString(string: strings.Notification_StarsPrize, font: titleFont, textColor: primaryTextColor)
|
||||||
case let .starGift(gift, _, text, entities, _, _, _, _, _, upgradeStars, _, _, peerId, senderId, _):
|
case let .starGift(gift, _, text, entities, _, _, _, _, _, upgradeStars, _, _, _, peerId, senderId, _):
|
||||||
if !forAdditionalServiceMessage {
|
if !forAdditionalServiceMessage {
|
||||||
if let text {
|
if let text {
|
||||||
let mutableAttributedString = NSMutableAttributedString(attributedString: stringWithAppliedEntities(text, entities: entities ?? [], baseColor: primaryTextColor, linkColor: primaryTextColor, baseFont: titleFont, linkFont: titleBoldFont, boldFont: titleBoldFont, italicFont: titleFont, boldItalicFont: titleBoldFont, fixedFont: titleFont, blockQuoteFont: titleFont, underlineLinks: false, message: message._asMessage()))
|
let mutableAttributedString = NSMutableAttributedString(attributedString: stringWithAppliedEntities(text, entities: entities ?? [], baseColor: primaryTextColor, linkColor: primaryTextColor, baseFont: titleFont, linkFont: titleBoldFont, boldFont: titleBoldFont, italicFont: titleFont, boldItalicFont: titleBoldFont, fixedFont: titleFont, blockQuoteFont: titleFont, underlineLinks: false, message: message._asMessage()))
|
||||||
@ -1180,7 +1181,7 @@ public func universalServiceMessageString(presentationData: (PresentationTheme,
|
|||||||
attributedString = addAttributesToStringWithRanges(strings.Notification_StarsGift_Sent(authorName, starsPrice)._tuple, body: bodyAttributes, argumentAttributes: attributes)
|
attributedString = addAttributesToStringWithRanges(strings.Notification_StarsGift_Sent(authorName, starsPrice)._tuple, body: bodyAttributes, argumentAttributes: attributes)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case let .starGiftUnique(gift, isUpgrade, _, _, _, _, _, peerId, senderId, _, resaleStars, _, _):
|
case let .starGiftUnique(gift, isUpgrade, _, _, _, _, _, _, peerId, senderId, _, resaleStars, _, _):
|
||||||
if case let .unique(gift) = gift {
|
if case let .unique(gift) = gift {
|
||||||
if !forAdditionalServiceMessage && !"".isEmpty {
|
if !forAdditionalServiceMessage && !"".isEmpty {
|
||||||
attributedString = NSAttributedString(string: "\(gift.title) #\(presentationStringsFormattedNumber(gift.number, dateTimeFormat.groupingSeparator))", font: titleFont, textColor: primaryTextColor)
|
attributedString = NSAttributedString(string: "\(gift.title) #\(presentationStringsFormattedNumber(gift.number, dateTimeFormat.groupingSeparator))", font: titleFont, textColor: primaryTextColor)
|
||||||
|
|||||||
@ -274,9 +274,9 @@ public class ChatMessageGiftBubbleContentNode: ChatMessageBubbleContentNode {
|
|||||||
for media in item.message.media {
|
for media in item.message.media {
|
||||||
if let action = media as? TelegramMediaAction {
|
if let action = media as? TelegramMediaAction {
|
||||||
switch action.action {
|
switch action.action {
|
||||||
case let .starGift(gift, _, _, _, _, _, _, _, _, _, _, _, _, _, _):
|
case let .starGift(gift, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _):
|
||||||
releasedBy = gift.releasedBy
|
releasedBy = gift.releasedBy
|
||||||
case let .starGiftUnique(gift, _, _, _, _, _, _, _, _, _, _, _, _):
|
case let .starGiftUnique(gift, _, _, _, _, _, _, _, _, _, _, _, _, _):
|
||||||
releasedBy = gift.releasedBy
|
releasedBy = gift.releasedBy
|
||||||
default:
|
default:
|
||||||
break
|
break
|
||||||
@ -547,7 +547,7 @@ public class ChatMessageGiftBubbleContentNode: ChatMessageBubbleContentNode {
|
|||||||
buttonTitle = item.presentationData.strings.Notification_PremiumPrize_View
|
buttonTitle = item.presentationData.strings.Notification_PremiumPrize_View
|
||||||
hasServiceMessage = false
|
hasServiceMessage = false
|
||||||
}
|
}
|
||||||
case let .starGift(gift, convertStars, giftText, giftEntities, _, savedToProfile, converted, upgraded, canUpgrade, upgradeStars, isRefunded, _, channelPeerId, senderPeerId, _):
|
case let .starGift(gift, convertStars, giftText, giftEntities, _, savedToProfile, converted, upgraded, canUpgrade, upgradeStars, isRefunded, _, _, channelPeerId, senderPeerId, _):
|
||||||
if case let .generic(gift) = gift {
|
if case let .generic(gift) = gift {
|
||||||
if let releasedBy = gift.releasedBy, let peer = item.message.peers[releasedBy], let addressName = peer.addressName {
|
if let releasedBy = gift.releasedBy, let peer = item.message.peers[releasedBy], let addressName = peer.addressName {
|
||||||
creatorButtonTitle = item.presentationData.strings.Notification_StarGift_ReleasedBy("**@\(addressName)**").string
|
creatorButtonTitle = item.presentationData.strings.Notification_StarGift_ReleasedBy("**@\(addressName)**").string
|
||||||
@ -641,7 +641,7 @@ public class ChatMessageGiftBubbleContentNode: ChatMessageBubbleContentNode {
|
|||||||
buttonTitle = item.presentationData.strings.Notification_StarGift_View
|
buttonTitle = item.presentationData.strings.Notification_StarGift_View
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case let .starGiftUnique(gift, isUpgrade, _, _, _, _, isRefunded, _, _, _, _, _, _):
|
case let .starGiftUnique(gift, isUpgrade, _, _, _, _, isRefunded, _, _, _, _, _, _, _):
|
||||||
if case let .unique(uniqueGift) = gift {
|
if case let .unique(uniqueGift) = gift {
|
||||||
isStarGift = true
|
isStarGift = true
|
||||||
|
|
||||||
@ -667,7 +667,8 @@ public class ChatMessageGiftBubbleContentNode: ChatMessageBubbleContentNode {
|
|||||||
} else {
|
} else {
|
||||||
title = isStoryEntity ? uniqueGift.title : item.presentationData.strings.Notification_StarGift_Title(authorName).string
|
title = isStoryEntity ? uniqueGift.title : item.presentationData.strings.Notification_StarGift_Title(authorName).string
|
||||||
}
|
}
|
||||||
text = isStoryEntity ? "**\(item.presentationData.strings.Notification_StarGift_Collectible) #\(presentationStringsFormattedNumber(uniqueGift.number, item.presentationData.dateTimeFormat.groupingSeparator))**" : "**\(uniqueGift.title) #\(presentationStringsFormattedNumber(uniqueGift.number, item.presentationData.dateTimeFormat.groupingSeparator))**"
|
|
||||||
|
text = isStoryEntity ? "**\(item.presentationData.strings.Notification_StarGift_Collectible) #\(formatCollectibleNumber(uniqueGift.number, dateTimeFormat: item.presentationData.dateTimeFormat))**" : "**\(uniqueGift.title) #\(formatCollectibleNumber(uniqueGift.number, dateTimeFormat: item.presentationData.dateTimeFormat))**"
|
||||||
ribbonTitle = isStoryEntity ? "" : item.presentationData.strings.Notification_StarGift_Gift
|
ribbonTitle = isStoryEntity ? "" : item.presentationData.strings.Notification_StarGift_Gift
|
||||||
buttonTitle = isStoryEntity ? "" : item.presentationData.strings.Notification_StarGift_View
|
buttonTitle = isStoryEntity ? "" : item.presentationData.strings.Notification_StarGift_View
|
||||||
modelTitle = item.presentationData.strings.Notification_StarGift_Model
|
modelTitle = item.presentationData.strings.Notification_StarGift_Model
|
||||||
|
|||||||
@ -239,7 +239,7 @@ final class ChatGiftPreviewItemNode: ListViewItemNode {
|
|||||||
case let .starGift(gift):
|
case let .starGift(gift):
|
||||||
media = [
|
media = [
|
||||||
TelegramMediaAction(
|
TelegramMediaAction(
|
||||||
action: .starGift(gift: .generic(gift), convertStars: gift.convertStars, text: item.text, entities: item.entities, nameHidden: false, savedToProfile: false, converted: false, upgraded: false, canUpgrade: gift.upgradeStars != nil, upgradeStars: item.upgradeStars, isRefunded: false, upgradeMessageId: nil, peerId: nil, senderId: nil, savedId: nil)
|
action: .starGift(gift: .generic(gift), convertStars: gift.convertStars, text: item.text, entities: item.entities, nameHidden: false, savedToProfile: false, converted: false, upgraded: false, canUpgrade: gift.upgradeStars != nil, upgradeStars: item.upgradeStars, isRefunded: false, isPrepaidUpgrade: false, upgradeMessageId: nil, peerId: nil, senderId: nil, savedId: nil)
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,7 +90,6 @@ private final class GiftViewSheetContent: CombinedComponent {
|
|||||||
var peerMap: [EnginePeer.Id: EnginePeer] = [:]
|
var peerMap: [EnginePeer.Id: EnginePeer] = [:]
|
||||||
var starGiftsMap: [Int64: StarGift.Gift] = [:]
|
var starGiftsMap: [Int64: StarGift.Gift] = [:]
|
||||||
|
|
||||||
var cachedCircleImage: UIImage?
|
|
||||||
var cachedStarImage: (UIImage, PresentationTheme)?
|
var cachedStarImage: (UIImage, PresentationTheme)?
|
||||||
var cachedSmallStarImage: (UIImage, PresentationTheme)?
|
var cachedSmallStarImage: (UIImage, PresentationTheme)?
|
||||||
var cachedSubtitleStarImage: (UIImage, PresentationTheme)?
|
var cachedSubtitleStarImage: (UIImage, PresentationTheme)?
|
||||||
@ -3793,7 +3792,7 @@ public class GiftViewScreen: ViewControllerComponentContainer {
|
|||||||
case let .message(message):
|
case let .message(message):
|
||||||
if let action = message.media.first(where: { $0 is TelegramMediaAction }) as? TelegramMediaAction {
|
if let action = message.media.first(where: { $0 is TelegramMediaAction }) as? TelegramMediaAction {
|
||||||
switch action.action {
|
switch action.action {
|
||||||
case let .starGift(gift, convertStars, text, entities, nameHidden, savedToProfile, converted, upgraded, canUpgrade, upgradeStars, isRefunded, upgradeMessageId, peerId, senderId, savedId):
|
case let .starGift(gift, convertStars, text, entities, nameHidden, savedToProfile, converted, upgraded, canUpgrade, upgradeStars, isRefunded, _, upgradeMessageId, peerId, senderId, savedId):
|
||||||
var reference: StarGiftReference
|
var reference: StarGiftReference
|
||||||
if let peerId, let savedId {
|
if let peerId, let savedId {
|
||||||
reference = .peer(peerId: peerId, id: savedId)
|
reference = .peer(peerId: peerId, id: savedId)
|
||||||
@ -3801,7 +3800,7 @@ public class GiftViewScreen: ViewControllerComponentContainer {
|
|||||||
reference = .message(messageId: message.id)
|
reference = .message(messageId: message.id)
|
||||||
}
|
}
|
||||||
return (message.id.peerId, senderId ?? message.author?.id, message.author?.compactDisplayTitle, message.id, reference, message.flags.contains(.Incoming), gift, message.timestamp, convertStars, text, entities, nameHidden, savedToProfile, nil, converted, upgraded, isRefunded, canUpgrade, upgradeStars, nil, nil, nil, upgradeMessageId, nil, nil)
|
return (message.id.peerId, senderId ?? message.author?.id, message.author?.compactDisplayTitle, message.id, reference, message.flags.contains(.Incoming), gift, message.timestamp, convertStars, text, entities, nameHidden, savedToProfile, nil, converted, upgraded, isRefunded, canUpgrade, upgradeStars, nil, nil, nil, upgradeMessageId, nil, nil)
|
||||||
case let .starGiftUnique(gift, isUpgrade, isTransferred, savedToProfile, canExportDate, transferStars, _, peerId, senderId, savedId, _, canTransferDate, canResaleDate):
|
case let .starGiftUnique(gift, isUpgrade, isTransferred, savedToProfile, canExportDate, transferStars, _, _, peerId, senderId, savedId, _, canTransferDate, canResaleDate):
|
||||||
var reference: StarGiftReference
|
var reference: StarGiftReference
|
||||||
if let peerId, let savedId {
|
if let peerId, let savedId {
|
||||||
reference = .peer(peerId: peerId, id: savedId)
|
reference = .peer(peerId: peerId, id: savedId)
|
||||||
|
|||||||
@ -1131,7 +1131,7 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState
|
|||||||
let sendGiftTitle: String
|
let sendGiftTitle: String
|
||||||
var isIncoming = message.effectivelyIncoming(context.account.peerId)
|
var isIncoming = message.effectivelyIncoming(context.account.peerId)
|
||||||
for media in message.media {
|
for media in message.media {
|
||||||
if let action = media as? TelegramMediaAction, case let .starGiftUnique(_, isUpgrade, _, _, _, _, _, _, _, _, _, _, _) = action.action {
|
if let action = media as? TelegramMediaAction, case let .starGiftUnique(_, isUpgrade, _, _, _, _, _, _, _, _, _, _, _, _) = action.action {
|
||||||
if isUpgrade && message.author?.id == context.account.peerId {
|
if isUpgrade && message.author?.id == context.account.peerId {
|
||||||
isIncoming = true
|
isIncoming = true
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user