mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-01 16:06:59 +00:00
Update API
This commit is contained in:
parent
484c350538
commit
abfdf04e9f
@ -609,6 +609,8 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
||||
dict[775611918] = { return Api.MessageAction.parse_messageActionStarGiftUnique($0) }
|
||||
dict[1474192222] = { return Api.MessageAction.parse_messageActionSuggestProfilePhoto($0) }
|
||||
dict[-293988970] = { return Api.MessageAction.parse_messageActionSuggestedPostApproval($0) }
|
||||
dict[1777932024] = { return Api.MessageAction.parse_messageActionSuggestedPostRefund($0) }
|
||||
dict[-1780625559] = { return Api.MessageAction.parse_messageActionSuggestedPostSuccess($0) }
|
||||
dict[-940721021] = { return Api.MessageAction.parse_messageActionTodoAppendTasks($0) }
|
||||
dict[-864265079] = { return Api.MessageAction.parse_messageActionTodoCompletions($0) }
|
||||
dict[228168278] = { return Api.MessageAction.parse_messageActionTopicCreate($0) }
|
||||
|
@ -397,6 +397,8 @@ public extension Api {
|
||||
case messageActionStarGiftUnique(flags: Int32, gift: Api.StarGift, canExportAt: Int32?, transferStars: Int64?, fromId: Api.Peer?, peer: Api.Peer?, savedId: Int64?, resaleStars: Int64?, canTransferAt: Int32?, canResellAt: Int32?)
|
||||
case messageActionSuggestProfilePhoto(photo: Api.Photo)
|
||||
case messageActionSuggestedPostApproval(flags: Int32, rejectComment: String?, scheduleDate: Int32?, price: Api.StarsAmount?)
|
||||
case messageActionSuggestedPostRefund(flags: Int32)
|
||||
case messageActionSuggestedPostSuccess(price: Api.StarsAmount)
|
||||
case messageActionTodoAppendTasks(list: [Api.TodoItem])
|
||||
case messageActionTodoCompletions(completed: [Int32], incompleted: [Int32])
|
||||
case messageActionTopicCreate(flags: Int32, title: String, iconColor: Int32, iconEmojiId: Int64?)
|
||||
@ -825,6 +827,18 @@ public extension Api {
|
||||
if Int(flags) & Int(1 << 3) != 0 {serializeInt32(scheduleDate!, buffer: buffer, boxed: false)}
|
||||
if Int(flags) & Int(1 << 4) != 0 {price!.serialize(buffer, true)}
|
||||
break
|
||||
case .messageActionSuggestedPostRefund(let flags):
|
||||
if boxed {
|
||||
buffer.appendInt32(1777932024)
|
||||
}
|
||||
serializeInt32(flags, buffer: buffer, boxed: false)
|
||||
break
|
||||
case .messageActionSuggestedPostSuccess(let price):
|
||||
if boxed {
|
||||
buffer.appendInt32(-1780625559)
|
||||
}
|
||||
price.serialize(buffer, true)
|
||||
break
|
||||
case .messageActionTodoAppendTasks(let list):
|
||||
if boxed {
|
||||
buffer.appendInt32(-940721021)
|
||||
@ -985,6 +999,10 @@ public extension Api {
|
||||
return ("messageActionSuggestProfilePhoto", [("photo", photo as Any)])
|
||||
case .messageActionSuggestedPostApproval(let flags, let rejectComment, let scheduleDate, let price):
|
||||
return ("messageActionSuggestedPostApproval", [("flags", flags as Any), ("rejectComment", rejectComment as Any), ("scheduleDate", scheduleDate as Any), ("price", price as Any)])
|
||||
case .messageActionSuggestedPostRefund(let flags):
|
||||
return ("messageActionSuggestedPostRefund", [("flags", flags as Any)])
|
||||
case .messageActionSuggestedPostSuccess(let price):
|
||||
return ("messageActionSuggestedPostSuccess", [("price", price as Any)])
|
||||
case .messageActionTodoAppendTasks(let list):
|
||||
return ("messageActionTodoAppendTasks", [("list", list as Any)])
|
||||
case .messageActionTodoCompletions(let completed, let incompleted):
|
||||
@ -1832,6 +1850,30 @@ public extension Api {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
public static func parse_messageActionSuggestedPostRefund(_ reader: BufferReader) -> MessageAction? {
|
||||
var _1: Int32?
|
||||
_1 = reader.readInt32()
|
||||
let _c1 = _1 != nil
|
||||
if _c1 {
|
||||
return Api.MessageAction.messageActionSuggestedPostRefund(flags: _1!)
|
||||
}
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
public static func parse_messageActionSuggestedPostSuccess(_ reader: BufferReader) -> MessageAction? {
|
||||
var _1: Api.StarsAmount?
|
||||
if let signature = reader.readInt32() {
|
||||
_1 = Api.parse(reader, signature: signature) as? Api.StarsAmount
|
||||
}
|
||||
let _c1 = _1 != nil
|
||||
if _c1 {
|
||||
return Api.MessageAction.messageActionSuggestedPostSuccess(price: _1!)
|
||||
}
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
public static func parse_messageActionTodoAppendTasks(_ reader: BufferReader) -> MessageAction? {
|
||||
var _1: [Api.TodoItem]?
|
||||
if let _ = reader.readInt32() {
|
||||
|
@ -232,7 +232,7 @@ func apiMessagePeerIds(_ message: Api.Message) -> [PeerId] {
|
||||
}
|
||||
|
||||
switch action {
|
||||
case .messageActionChannelCreate, .messageActionChatDeletePhoto, .messageActionChatEditPhoto, .messageActionChatEditTitle, .messageActionEmpty, .messageActionPinMessage, .messageActionHistoryClear, .messageActionGameScore, .messageActionPaymentSent, .messageActionPaymentSentMe, .messageActionPhoneCall, .messageActionScreenshotTaken, .messageActionCustomAction, .messageActionBotAllowed, .messageActionSecureValuesSent, .messageActionSecureValuesSentMe, .messageActionContactSignUp, .messageActionGroupCall, .messageActionSetMessagesTTL, .messageActionGroupCallScheduled, .messageActionSetChatTheme, .messageActionChatJoinedByRequest, .messageActionWebViewDataSent, .messageActionWebViewDataSentMe, .messageActionGiftPremium, .messageActionGiftStars, .messageActionTopicCreate, .messageActionTopicEdit, .messageActionSuggestProfilePhoto, .messageActionSetChatWallPaper, .messageActionGiveawayLaunch, .messageActionGiveawayResults, .messageActionBoostApply, .messageActionRequestedPeerSentMe, .messageActionStarGift, .messageActionStarGiftUnique, .messageActionPaidMessagesRefunded, .messageActionPaidMessagesPrice, .messageActionTodoCompletions, .messageActionTodoAppendTasks, .messageActionSuggestedPostApproval, .messageActionGiftTon:
|
||||
case .messageActionChannelCreate, .messageActionChatDeletePhoto, .messageActionChatEditPhoto, .messageActionChatEditTitle, .messageActionEmpty, .messageActionPinMessage, .messageActionHistoryClear, .messageActionGameScore, .messageActionPaymentSent, .messageActionPaymentSentMe, .messageActionPhoneCall, .messageActionScreenshotTaken, .messageActionCustomAction, .messageActionBotAllowed, .messageActionSecureValuesSent, .messageActionSecureValuesSentMe, .messageActionContactSignUp, .messageActionGroupCall, .messageActionSetMessagesTTL, .messageActionGroupCallScheduled, .messageActionSetChatTheme, .messageActionChatJoinedByRequest, .messageActionWebViewDataSent, .messageActionWebViewDataSentMe, .messageActionGiftPremium, .messageActionGiftStars, .messageActionTopicCreate, .messageActionTopicEdit, .messageActionSuggestProfilePhoto, .messageActionSetChatWallPaper, .messageActionGiveawayLaunch, .messageActionGiveawayResults, .messageActionBoostApply, .messageActionRequestedPeerSentMe, .messageActionStarGift, .messageActionStarGiftUnique, .messageActionPaidMessagesRefunded, .messageActionPaidMessagesPrice, .messageActionTodoCompletions, .messageActionTodoAppendTasks, .messageActionSuggestedPostApproval, .messageActionGiftTon, .messageActionSuggestedPostSuccess, .messageActionSuggestedPostRefund:
|
||||
break
|
||||
case let .messageActionChannelMigrateFrom(_, chatId):
|
||||
result.append(PeerId(namespace: Namespaces.Peer.CloudGroup, id: PeerId.Id._internalFromInt64Value(chatId)))
|
||||
|
@ -264,6 +264,10 @@ func telegramMediaActionFromApiAction(_ action: Api.MessageAction) -> TelegramMe
|
||||
return TelegramMediaAction(action: .suggestedPostApprovalStatus(status: status))
|
||||
case let .messageActionGiftTon(_, currency, amount, cryptoCurrency, cryptoAmount, transactionId):
|
||||
return TelegramMediaAction(action: .giftTon(currency: currency, amount: amount, cryptoCurrency: cryptoCurrency, cryptoAmount: cryptoAmount, transactionId: transactionId))
|
||||
case let .messageActionSuggestedPostSuccess(price):
|
||||
return TelegramMediaAction(action: .suggestedPostSuccess(amount: CurrencyAmount(apiAmount: price)))
|
||||
case let .messageActionSuggestedPostRefund(flags):
|
||||
return TelegramMediaAction(action: .suggestedPostRefund(TelegramMediaActionType.SuggestedPostRefund(isUserInitiated: (flags & (1 << 0)) != 0)))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -177,6 +177,28 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
||||
}
|
||||
}
|
||||
|
||||
public struct SuggestedPostRefund: Codable, Equatable {
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case isUserInitiated = "iui"
|
||||
}
|
||||
|
||||
public var isUserInitiated: Bool
|
||||
|
||||
public init(isUserInitiated: Bool) {
|
||||
self.isUserInitiated = isUserInitiated
|
||||
}
|
||||
|
||||
public init(from decoder: Decoder) throws {
|
||||
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||||
self.isUserInitiated = try container.decode(Bool.self, forKey: .isUserInitiated)
|
||||
}
|
||||
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encode(self.isUserInitiated, forKey: .isUserInitiated)
|
||||
}
|
||||
}
|
||||
|
||||
case unknown
|
||||
case groupCreated(title: String)
|
||||
case addedMembers(peerIds: [PeerId])
|
||||
@ -230,6 +252,8 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
||||
case todoAppendTasks([TelegramMediaTodo.Item])
|
||||
case suggestedPostApprovalStatus(status: SuggestedPostApprovalStatus)
|
||||
case giftTon(currency: String, amount: Int64, cryptoCurrency: String?, cryptoAmount: Int64?, transactionId: String?)
|
||||
case suggestedPostSuccess(amount: CurrencyAmount)
|
||||
case suggestedPostRefund(SuggestedPostRefund)
|
||||
|
||||
public init(decoder: PostboxDecoder) {
|
||||
let rawValue: Int32 = decoder.decodeInt32ForKey("_rawValue", orElse: 0)
|
||||
@ -379,6 +403,10 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
||||
self = .suggestedPostApprovalStatus(status: status ?? .rejected(reason: .generic, comment: nil))
|
||||
case 52:
|
||||
self = .giftTon(currency: decoder.decodeStringForKey("currency", orElse: ""), amount: decoder.decodeInt64ForKey("amount", orElse: 0), cryptoCurrency: decoder.decodeOptionalStringForKey("cryptoCurrency"), cryptoAmount: decoder.decodeOptionalInt64ForKey("cryptoAmount"), transactionId: decoder.decodeOptionalStringForKey("transactionId"))
|
||||
case 53:
|
||||
self = .suggestedPostSuccess(amount: decoder.decodeCodable(CurrencyAmount.self, forKey: "amt") ?? CurrencyAmount(amount: .zero, currency: .stars))
|
||||
case 54:
|
||||
self = .suggestedPostRefund(decoder.decodeCodable(SuggestedPostRefund.self, forKey: "s") ?? SuggestedPostRefund(isUserInitiated: true))
|
||||
default:
|
||||
self = .unknown
|
||||
}
|
||||
@ -808,6 +836,12 @@ public enum TelegramMediaActionType: PostboxCoding, Equatable {
|
||||
} else {
|
||||
encoder.encodeNil(forKey: "transactionId")
|
||||
}
|
||||
case let .suggestedPostSuccess(amount):
|
||||
encoder.encodeInt32(53, forKey: "_rawValue")
|
||||
encoder.encodeCodable(amount, forKey: "amt")
|
||||
case let .suggestedPostRefund(status):
|
||||
encoder.encodeInt32(54, forKey: "_rawValue")
|
||||
encoder.encodeCodable(status, forKey: "s")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1450,6 +1450,12 @@ public func universalServiceMessageString(presentationData: (PresentationTheme,
|
||||
}
|
||||
}
|
||||
attributedString = NSAttributedString(string: string, font: titleFont, textColor: primaryTextColor)
|
||||
case .suggestedPostSuccess:
|
||||
//TODO:localize
|
||||
attributedString = NSAttributedString(string: "Suggested post was posted", font: titleFont, textColor: primaryTextColor)
|
||||
case .suggestedPostRefund:
|
||||
//TODO:localize
|
||||
attributedString = NSAttributedString(string: "Suggested post was refunded", font: titleFont, textColor: primaryTextColor)
|
||||
case let .giftTon(currency, amount, _, _, _):
|
||||
attributedString = nil
|
||||
if !forAdditionalServiceMessage {
|
||||
|
@ -291,7 +291,7 @@ public func canAddMessageReactions(message: Message) -> Bool {
|
||||
return true
|
||||
} else {
|
||||
switch action.action {
|
||||
case .unknown, .groupCreated, .channelMigratedFromGroup, .groupMigratedToChannel, .historyCleared, .customText, .botDomainAccessGranted, .botAppAccessGranted, .botSentSecureValues, .phoneNumberRequest, .webViewData, .topicCreated, .attachMenuBotAllowed, .requestedPeer, .giveawayLaunched, .suggestedPostApprovalStatus:
|
||||
case .unknown, .groupCreated, .channelMigratedFromGroup, .groupMigratedToChannel, .historyCleared, .customText, .botDomainAccessGranted, .botAppAccessGranted, .botSentSecureValues, .phoneNumberRequest, .webViewData, .topicCreated, .attachMenuBotAllowed, .requestedPeer, .giveawayLaunched, .suggestedPostApprovalStatus, .suggestedPostSuccess, .suggestedPostRefund:
|
||||
return false
|
||||
default:
|
||||
return true
|
||||
|
Loading…
x
Reference in New Issue
Block a user