Update API

This commit is contained in:
Ilya Laktyushin 2026-03-26 09:26:15 +01:00
parent 583e794a53
commit 6b6ba070c7
21 changed files with 246 additions and 52 deletions

View file

@ -296,7 +296,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[-207944868] = { return Api.FileHash.parse_fileHash($0) }
dict[-11252123] = { return Api.Folder.parse_folder($0) }
dict[-373643672] = { return Api.FolderPeer.parse_folderPeer($0) }
dict[-838922550] = { return Api.ForumTopic.parse_forumTopic($0) }
dict[-52766699] = { return Api.ForumTopic.parse_forumTopic($0) }
dict[37687451] = { return Api.ForumTopic.parse_forumTopicDeleted($0) }
dict[-394605632] = { return Api.FoundStory.parse_foundStory($0) }
dict[-1107729093] = { return Api.Game.parse_game($0) }
@ -623,6 +623,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[-2132731265] = { return Api.MessageAction.parse_messageActionPhoneCall($0) }
dict[-1799538451] = { return Api.MessageAction.parse_messageActionPinMessage($0) }
dict[-1650340500] = { return Api.MessageAction.parse_messageActionPollAppendAnswer($0) }
dict[966161628] = { return Api.MessageAction.parse_messageActionPollDeleteAnswer($0) }
dict[-1341372510] = { return Api.MessageAction.parse_messageActionPrizeStars($0) }
dict[827428507] = { return Api.MessageAction.parse_messageActionRequestedPeer($0) }
dict[-1816979384] = { return Api.MessageAction.parse_messageActionRequestedPeerSentMe($0) }
@ -1174,7 +1175,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[-710666460] = { return Api.Update.parse_updateMessageExtendedMedia($0) }
dict[1318109142] = { return Api.Update.parse_updateMessageID($0) }
dict[-699641301] = { return Api.Update.parse_updateMessagePoll($0) }
dict[619974263] = { return Api.Update.parse_updateMessagePollVote($0) }
dict[1989799956] = { return Api.Update.parse_updateMessagePollVote($0) }
dict[506035194] = { return Api.Update.parse_updateMessageReactions($0) }
dict[-1618924792] = { return Api.Update.parse_updateMonoForumNoPaidException($0) }
dict[-2030252155] = { return Api.Update.parse_updateMoveStickerSetToTop($0) }
@ -1258,7 +1259,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[-484987010] = { return Api.Updates.parse_updatesTooLong($0) }
dict[1648005024] = { return Api.UrlAuthResult.parse_urlAuthResultAccepted($0) }
dict[-1445536993] = { return Api.UrlAuthResult.parse_urlAuthResultDefault($0) }
dict[-117904610] = { return Api.UrlAuthResult.parse_urlAuthResultRequest($0) }
dict[1020666860] = { return Api.UrlAuthResult.parse_urlAuthResultRequest($0) }
dict[829899656] = { return Api.User.parse_user($0) }
dict[-742634630] = { return Api.User.parse_userEmpty($0) }
dict[114026053] = { return Api.UserFull.parse_userFull($0) }

View file

@ -2080,6 +2080,15 @@ public extension Api {
return ("messageActionPollAppendAnswer", [("answer", self.answer as Any)])
}
}
public class Cons_messageActionPollDeleteAnswer: TypeConstructorDescription {
public var answer: Api.PollAnswer
public init(answer: Api.PollAnswer) {
self.answer = answer
}
public func descriptionFields() -> (String, [(String, Any)]) {
return ("messageActionPollDeleteAnswer", [("answer", self.answer as Any)])
}
}
public class Cons_messageActionPrizeStars: TypeConstructorDescription {
public var flags: Int32
public var stars: Int64
@ -2429,6 +2438,7 @@ public extension Api {
case messageActionPhoneCall(Cons_messageActionPhoneCall)
case messageActionPinMessage
case messageActionPollAppendAnswer(Cons_messageActionPollAppendAnswer)
case messageActionPollDeleteAnswer(Cons_messageActionPollDeleteAnswer)
case messageActionPrizeStars(Cons_messageActionPrizeStars)
case messageActionRequestedPeer(Cons_messageActionRequestedPeer)
case messageActionRequestedPeerSentMe(Cons_messageActionRequestedPeerSentMe)
@ -2838,6 +2848,12 @@ public extension Api {
}
_data.answer.serialize(buffer, true)
break
case .messageActionPollDeleteAnswer(let _data):
if boxed {
buffer.appendInt32(966161628)
}
_data.answer.serialize(buffer, true)
break
case .messageActionPrizeStars(let _data):
if boxed {
buffer.appendInt32(-1341372510)
@ -3208,6 +3224,8 @@ public extension Api {
return ("messageActionPinMessage", [])
case .messageActionPollAppendAnswer(let _data):
return ("messageActionPollAppendAnswer", [("answer", _data.answer as Any)])
case .messageActionPollDeleteAnswer(let _data):
return ("messageActionPollDeleteAnswer", [("answer", _data.answer as Any)])
case .messageActionPrizeStars(let _data):
return ("messageActionPrizeStars", [("flags", _data.flags as Any), ("stars", _data.stars as Any), ("transactionId", _data.transactionId as Any), ("boostPeer", _data.boostPeer as Any), ("giveawayMsgId", _data.giveawayMsgId as Any)])
case .messageActionRequestedPeer(let _data):
@ -3973,6 +3991,19 @@ public extension Api {
return nil
}
}
public static func parse_messageActionPollDeleteAnswer(_ reader: BufferReader) -> MessageAction? {
var _1: Api.PollAnswer?
if let signature = reader.readInt32() {
_1 = Api.parse(reader, signature: signature) as? Api.PollAnswer
}
let _c1 = _1 != nil
if _c1 {
return Api.MessageAction.messageActionPollDeleteAnswer(Cons_messageActionPollDeleteAnswer(answer: _1!))
}
else {
return nil
}
}
public static func parse_messageActionPrizeStars(_ reader: BufferReader) -> MessageAction? {
var _1: Int32?
_1 = reader.readInt32()

View file

@ -1690,15 +1690,17 @@ public extension Api {
public var pollId: Int64
public var peer: Api.Peer
public var options: [Buffer]
public var positions: [Int32]
public var qts: Int32
public init(pollId: Int64, peer: Api.Peer, options: [Buffer], qts: Int32) {
public init(pollId: Int64, peer: Api.Peer, options: [Buffer], positions: [Int32], qts: Int32) {
self.pollId = pollId
self.peer = peer
self.options = options
self.positions = positions
self.qts = qts
}
public func descriptionFields() -> (String, [(String, Any)]) {
return ("updateMessagePollVote", [("pollId", self.pollId as Any), ("peer", self.peer as Any), ("options", self.options as Any), ("qts", self.qts as Any)])
return ("updateMessagePollVote", [("pollId", self.pollId as Any), ("peer", self.peer as Any), ("options", self.options as Any), ("positions", self.positions as Any), ("qts", self.qts as Any)])
}
}
public class Cons_updateMessageReactions: TypeConstructorDescription {
@ -3440,7 +3442,7 @@ public extension Api {
break
case .updateMessagePollVote(let _data):
if boxed {
buffer.appendInt32(619974263)
buffer.appendInt32(1989799956)
}
serializeInt64(_data.pollId, buffer: buffer, boxed: false)
_data.peer.serialize(buffer, true)
@ -3449,6 +3451,11 @@ public extension Api {
for item in _data.options {
serializeBytes(item, buffer: buffer, boxed: false)
}
buffer.appendInt32(481674261)
buffer.appendInt32(Int32(_data.positions.count))
for item in _data.positions {
serializeInt32(item, buffer: buffer, boxed: false)
}
serializeInt32(_data.qts, buffer: buffer, boxed: false)
break
case .updateMessageReactions(let _data):
@ -4245,7 +4252,7 @@ public extension Api {
case .updateMessagePoll(let _data):
return ("updateMessagePoll", [("flags", _data.flags as Any), ("peer", _data.peer as Any), ("msgId", _data.msgId as Any), ("topMsgId", _data.topMsgId as Any), ("pollId", _data.pollId as Any), ("poll", _data.poll as Any), ("results", _data.results as Any)])
case .updateMessagePollVote(let _data):
return ("updateMessagePollVote", [("pollId", _data.pollId as Any), ("peer", _data.peer as Any), ("options", _data.options as Any), ("qts", _data.qts as Any)])
return ("updateMessagePollVote", [("pollId", _data.pollId as Any), ("peer", _data.peer as Any), ("options", _data.options as Any), ("positions", _data.positions as Any), ("qts", _data.qts as Any)])
case .updateMessageReactions(let _data):
return ("updateMessageReactions", [("flags", _data.flags as Any), ("peer", _data.peer as Any), ("msgId", _data.msgId as Any), ("topMsgId", _data.topMsgId as Any), ("savedPeerId", _data.savedPeerId as Any), ("reactions", _data.reactions as Any)])
case .updateMonoForumNoPaidException(let _data):
@ -6022,14 +6029,19 @@ public extension Api {
if let _ = reader.readInt32() {
_3 = Api.parseVector(reader, elementSignature: -1255641564, elementType: Buffer.self)
}
var _4: Int32?
_4 = reader.readInt32()
var _4: [Int32]?
if let _ = reader.readInt32() {
_4 = Api.parseVector(reader, elementSignature: -1471112230, elementType: Int32.self)
}
var _5: Int32?
_5 = reader.readInt32()
let _c1 = _1 != nil
let _c2 = _2 != nil
let _c3 = _3 != nil
let _c4 = _4 != nil
if _c1 && _c2 && _c3 && _c4 {
return Api.Update.updateMessagePollVote(Cons_updateMessagePollVote(pollId: _1!, peer: _2!, options: _3!, qts: _4!))
let _c5 = _5 != nil
if _c1 && _c2 && _c3 && _c4 && _c5 {
return Api.Update.updateMessagePollVote(Cons_updateMessagePollVote(pollId: _1!, peer: _2!, options: _3!, positions: _4!, qts: _5!))
}
else {
return nil

View file

@ -579,7 +579,8 @@ public extension Api {
public var region: String?
public var matchCodes: [String]?
public var userIdHint: Int64?
public init(flags: Int32, bot: Api.User, domain: String, browser: String?, platform: String?, ip: String?, region: String?, matchCodes: [String]?, userIdHint: Int64?) {
public var verifiedAppName: String?
public init(flags: Int32, bot: Api.User, domain: String, browser: String?, platform: String?, ip: String?, region: String?, matchCodes: [String]?, userIdHint: Int64?, verifiedAppName: String?) {
self.flags = flags
self.bot = bot
self.domain = domain
@ -589,9 +590,10 @@ public extension Api {
self.region = region
self.matchCodes = matchCodes
self.userIdHint = userIdHint
self.verifiedAppName = verifiedAppName
}
public func descriptionFields() -> (String, [(String, Any)]) {
return ("urlAuthResultRequest", [("flags", self.flags as Any), ("bot", self.bot as Any), ("domain", self.domain as Any), ("browser", self.browser as Any), ("platform", self.platform as Any), ("ip", self.ip as Any), ("region", self.region as Any), ("matchCodes", self.matchCodes as Any), ("userIdHint", self.userIdHint as Any)])
return ("urlAuthResultRequest", [("flags", self.flags as Any), ("bot", self.bot as Any), ("domain", self.domain as Any), ("browser", self.browser as Any), ("platform", self.platform as Any), ("ip", self.ip as Any), ("region", self.region as Any), ("matchCodes", self.matchCodes as Any), ("userIdHint", self.userIdHint as Any), ("verifiedAppName", self.verifiedAppName as Any)])
}
}
case urlAuthResultAccepted(Cons_urlAuthResultAccepted)
@ -616,7 +618,7 @@ public extension Api {
break
case .urlAuthResultRequest(let _data):
if boxed {
buffer.appendInt32(-117904610)
buffer.appendInt32(1020666860)
}
serializeInt32(_data.flags, buffer: buffer, boxed: false)
_data.bot.serialize(buffer, true)
@ -643,6 +645,9 @@ public extension Api {
if Int(_data.flags) & Int(1 << 4) != 0 {
serializeInt64(_data.userIdHint!, buffer: buffer, boxed: false)
}
if Int(_data.flags) & Int(1 << 7) != 0 {
serializeString(_data.verifiedAppName!, buffer: buffer, boxed: false)
}
break
}
}
@ -654,7 +659,7 @@ public extension Api {
case .urlAuthResultDefault:
return ("urlAuthResultDefault", [])
case .urlAuthResultRequest(let _data):
return ("urlAuthResultRequest", [("flags", _data.flags as Any), ("bot", _data.bot as Any), ("domain", _data.domain as Any), ("browser", _data.browser as Any), ("platform", _data.platform as Any), ("ip", _data.ip as Any), ("region", _data.region as Any), ("matchCodes", _data.matchCodes as Any), ("userIdHint", _data.userIdHint as Any)])
return ("urlAuthResultRequest", [("flags", _data.flags as Any), ("bot", _data.bot as Any), ("domain", _data.domain as Any), ("browser", _data.browser as Any), ("platform", _data.platform as Any), ("ip", _data.ip as Any), ("region", _data.region as Any), ("matchCodes", _data.matchCodes as Any), ("userIdHint", _data.userIdHint as Any), ("verifiedAppName", _data.verifiedAppName as Any)])
}
}
@ -712,6 +717,10 @@ public extension Api {
if Int(_1!) & Int(1 << 4) != 0 {
_9 = reader.readInt64()
}
var _10: String?
if Int(_1!) & Int(1 << 7) != 0 {
_10 = parseString(reader)
}
let _c1 = _1 != nil
let _c2 = _2 != nil
let _c3 = _3 != nil
@ -721,8 +730,9 @@ public extension Api {
let _c7 = (Int(_1!) & Int(1 << 2) == 0) || _7 != nil
let _c8 = (Int(_1!) & Int(1 << 3) == 0) || _8 != nil
let _c9 = (Int(_1!) & Int(1 << 4) == 0) || _9 != nil
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 {
return Api.UrlAuthResult.urlAuthResultRequest(Cons_urlAuthResultRequest(flags: _1!, bot: _2!, domain: _3!, browser: _4, platform: _5, ip: _6, region: _7, matchCodes: _8, userIdHint: _9))
let _c10 = (Int(_1!) & Int(1 << 7) == 0) || _10 != nil
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 {
return Api.UrlAuthResult.urlAuthResultRequest(Cons_urlAuthResultRequest(flags: _1!, bot: _2!, domain: _3!, browser: _4, platform: _5, ip: _6, region: _7, matchCodes: _8, userIdHint: _9, verifiedAppName: _10))
}
else {
return nil

View file

@ -1141,10 +1141,11 @@ public extension Api {
public var unreadCount: Int32
public var unreadMentionsCount: Int32
public var unreadReactionsCount: Int32
public var unreadPollVotesCount: Int32
public var fromId: Api.Peer
public var notifySettings: Api.PeerNotifySettings
public var draft: Api.DraftMessage?
public init(flags: Int32, id: Int32, date: Int32, peer: Api.Peer, title: String, iconColor: Int32, iconEmojiId: Int64?, topMessage: Int32, readInboxMaxId: Int32, readOutboxMaxId: Int32, unreadCount: Int32, unreadMentionsCount: Int32, unreadReactionsCount: Int32, fromId: Api.Peer, notifySettings: Api.PeerNotifySettings, draft: Api.DraftMessage?) {
public init(flags: Int32, id: Int32, date: Int32, peer: Api.Peer, title: String, iconColor: Int32, iconEmojiId: Int64?, topMessage: Int32, readInboxMaxId: Int32, readOutboxMaxId: Int32, unreadCount: Int32, unreadMentionsCount: Int32, unreadReactionsCount: Int32, unreadPollVotesCount: Int32, fromId: Api.Peer, notifySettings: Api.PeerNotifySettings, draft: Api.DraftMessage?) {
self.flags = flags
self.id = id
self.date = date
@ -1158,12 +1159,13 @@ public extension Api {
self.unreadCount = unreadCount
self.unreadMentionsCount = unreadMentionsCount
self.unreadReactionsCount = unreadReactionsCount
self.unreadPollVotesCount = unreadPollVotesCount
self.fromId = fromId
self.notifySettings = notifySettings
self.draft = draft
}
public func descriptionFields() -> (String, [(String, Any)]) {
return ("forumTopic", [("flags", self.flags as Any), ("id", self.id as Any), ("date", self.date as Any), ("peer", self.peer as Any), ("title", self.title as Any), ("iconColor", self.iconColor as Any), ("iconEmojiId", self.iconEmojiId as Any), ("topMessage", self.topMessage as Any), ("readInboxMaxId", self.readInboxMaxId as Any), ("readOutboxMaxId", self.readOutboxMaxId as Any), ("unreadCount", self.unreadCount as Any), ("unreadMentionsCount", self.unreadMentionsCount as Any), ("unreadReactionsCount", self.unreadReactionsCount as Any), ("fromId", self.fromId as Any), ("notifySettings", self.notifySettings as Any), ("draft", self.draft as Any)])
return ("forumTopic", [("flags", self.flags as Any), ("id", self.id as Any), ("date", self.date as Any), ("peer", self.peer as Any), ("title", self.title as Any), ("iconColor", self.iconColor as Any), ("iconEmojiId", self.iconEmojiId as Any), ("topMessage", self.topMessage as Any), ("readInboxMaxId", self.readInboxMaxId as Any), ("readOutboxMaxId", self.readOutboxMaxId as Any), ("unreadCount", self.unreadCount as Any), ("unreadMentionsCount", self.unreadMentionsCount as Any), ("unreadReactionsCount", self.unreadReactionsCount as Any), ("unreadPollVotesCount", self.unreadPollVotesCount as Any), ("fromId", self.fromId as Any), ("notifySettings", self.notifySettings as Any), ("draft", self.draft as Any)])
}
}
public class Cons_forumTopicDeleted: TypeConstructorDescription {
@ -1182,7 +1184,7 @@ public extension Api {
switch self {
case .forumTopic(let _data):
if boxed {
buffer.appendInt32(-838922550)
buffer.appendInt32(-52766699)
}
serializeInt32(_data.flags, buffer: buffer, boxed: false)
serializeInt32(_data.id, buffer: buffer, boxed: false)
@ -1199,6 +1201,7 @@ public extension Api {
serializeInt32(_data.unreadCount, buffer: buffer, boxed: false)
serializeInt32(_data.unreadMentionsCount, buffer: buffer, boxed: false)
serializeInt32(_data.unreadReactionsCount, buffer: buffer, boxed: false)
serializeInt32(_data.unreadPollVotesCount, buffer: buffer, boxed: false)
_data.fromId.serialize(buffer, true)
_data.notifySettings.serialize(buffer, true)
if Int(_data.flags) & Int(1 << 4) != 0 {
@ -1217,7 +1220,7 @@ public extension Api {
public func descriptionFields() -> (String, [(String, Any)]) {
switch self {
case .forumTopic(let _data):
return ("forumTopic", [("flags", _data.flags as Any), ("id", _data.id as Any), ("date", _data.date as Any), ("peer", _data.peer as Any), ("title", _data.title as Any), ("iconColor", _data.iconColor as Any), ("iconEmojiId", _data.iconEmojiId as Any), ("topMessage", _data.topMessage as Any), ("readInboxMaxId", _data.readInboxMaxId as Any), ("readOutboxMaxId", _data.readOutboxMaxId as Any), ("unreadCount", _data.unreadCount as Any), ("unreadMentionsCount", _data.unreadMentionsCount as Any), ("unreadReactionsCount", _data.unreadReactionsCount as Any), ("fromId", _data.fromId as Any), ("notifySettings", _data.notifySettings as Any), ("draft", _data.draft as Any)])
return ("forumTopic", [("flags", _data.flags as Any), ("id", _data.id as Any), ("date", _data.date as Any), ("peer", _data.peer as Any), ("title", _data.title as Any), ("iconColor", _data.iconColor as Any), ("iconEmojiId", _data.iconEmojiId as Any), ("topMessage", _data.topMessage as Any), ("readInboxMaxId", _data.readInboxMaxId as Any), ("readOutboxMaxId", _data.readOutboxMaxId as Any), ("unreadCount", _data.unreadCount as Any), ("unreadMentionsCount", _data.unreadMentionsCount as Any), ("unreadReactionsCount", _data.unreadReactionsCount as Any), ("unreadPollVotesCount", _data.unreadPollVotesCount as Any), ("fromId", _data.fromId as Any), ("notifySettings", _data.notifySettings as Any), ("draft", _data.draft as Any)])
case .forumTopicDeleted(let _data):
return ("forumTopicDeleted", [("id", _data.id as Any)])
}
@ -1254,18 +1257,20 @@ public extension Api {
_12 = reader.readInt32()
var _13: Int32?
_13 = reader.readInt32()
var _14: Api.Peer?
var _14: Int32?
_14 = reader.readInt32()
var _15: Api.Peer?
if let signature = reader.readInt32() {
_14 = Api.parse(reader, signature: signature) as? Api.Peer
_15 = Api.parse(reader, signature: signature) as? Api.Peer
}
var _15: Api.PeerNotifySettings?
var _16: Api.PeerNotifySettings?
if let signature = reader.readInt32() {
_15 = Api.parse(reader, signature: signature) as? Api.PeerNotifySettings
_16 = Api.parse(reader, signature: signature) as? Api.PeerNotifySettings
}
var _16: Api.DraftMessage?
var _17: Api.DraftMessage?
if Int(_1!) & Int(1 << 4) != 0 {
if let signature = reader.readInt32() {
_16 = Api.parse(reader, signature: signature) as? Api.DraftMessage
_17 = Api.parse(reader, signature: signature) as? Api.DraftMessage
}
}
let _c1 = _1 != nil
@ -1283,9 +1288,10 @@ public extension Api {
let _c13 = _13 != nil
let _c14 = _14 != nil
let _c15 = _15 != nil
let _c16 = (Int(_1!) & Int(1 << 4) == 0) || _16 != nil
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 && _c16 {
return Api.ForumTopic.forumTopic(Cons_forumTopic(flags: _1!, id: _2!, date: _3!, peer: _4!, title: _5!, iconColor: _6!, iconEmojiId: _7, topMessage: _8!, readInboxMaxId: _9!, readOutboxMaxId: _10!, unreadCount: _11!, unreadMentionsCount: _12!, unreadReactionsCount: _13!, fromId: _14!, notifySettings: _15!, draft: _16))
let _c16 = _16 != nil
let _c17 = (Int(_1!) & Int(1 << 4) == 0) || _17 != nil
if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 && _c13 && _c14 && _c15 && _c16 && _c17 {
return Api.ForumTopic.forumTopic(Cons_forumTopic(flags: _1!, id: _2!, date: _3!, peer: _4!, title: _5!, iconColor: _6!, iconEmojiId: _7, topMessage: _8!, readInboxMaxId: _9!, readOutboxMaxId: _10!, unreadCount: _11!, unreadMentionsCount: _12!, unreadReactionsCount: _13!, unreadPollVotesCount: _14!, fromId: _15!, notifySettings: _16!, draft: _17))
}
else {
return nil