Update API

This commit is contained in:
Ilya Laktyushin 2024-02-29 02:31:03 +04:00
parent 05ca0f1687
commit 02a2c2d359
4 changed files with 36 additions and 26 deletions

View File

@ -102,7 +102,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[-944407322] = { return Api.BotMenuButton.parse_botMenuButton($0) } dict[-944407322] = { return Api.BotMenuButton.parse_botMenuButton($0) }
dict[1113113093] = { return Api.BotMenuButton.parse_botMenuButtonCommands($0) } dict[1113113093] = { return Api.BotMenuButton.parse_botMenuButtonCommands($0) }
dict[1966318984] = { return Api.BotMenuButton.parse_botMenuButtonDefault($0) } dict[1966318984] = { return Api.BotMenuButton.parse_botMenuButtonDefault($0) }
dict[467254972] = { return Api.BusinessAwayMessage.parse_businessAwayMessage($0) } dict[-283809188] = { return Api.BusinessAwayMessage.parse_businessAwayMessage($0) }
dict[-910564679] = { return Api.BusinessAwayMessageSchedule.parse_businessAwayMessageScheduleAlways($0) } dict[-910564679] = { return Api.BusinessAwayMessageSchedule.parse_businessAwayMessageScheduleAlways($0) }
dict[-867328308] = { return Api.BusinessAwayMessageSchedule.parse_businessAwayMessageScheduleCustom($0) } dict[-867328308] = { return Api.BusinessAwayMessageSchedule.parse_businessAwayMessageScheduleCustom($0) }
dict[-1007487743] = { return Api.BusinessAwayMessageSchedule.parse_businessAwayMessageScheduleOutsideWorkHours($0) } dict[-1007487743] = { return Api.BusinessAwayMessageSchedule.parse_businessAwayMessageScheduleOutsideWorkHours($0) }
@ -308,7 +308,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[-459324] = { return Api.InputBotInlineResult.parse_inputBotInlineResultDocument($0) } dict[-459324] = { return Api.InputBotInlineResult.parse_inputBotInlineResultDocument($0) }
dict[1336154098] = { return Api.InputBotInlineResult.parse_inputBotInlineResultGame($0) } dict[1336154098] = { return Api.InputBotInlineResult.parse_inputBotInlineResultGame($0) }
dict[-1462213465] = { return Api.InputBotInlineResult.parse_inputBotInlineResultPhoto($0) } dict[-1462213465] = { return Api.InputBotInlineResult.parse_inputBotInlineResultPhoto($0) }
dict[-307493900] = { return Api.InputBusinessAwayMessage.parse_inputBusinessAwayMessage($0) } dict[-2094959136] = { return Api.InputBusinessAwayMessage.parse_inputBusinessAwayMessage($0) }
dict[26528571] = { return Api.InputBusinessGreetingMessage.parse_inputBusinessGreetingMessage($0) } dict[26528571] = { return Api.InputBusinessGreetingMessage.parse_inputBusinessGreetingMessage($0) }
dict[1871393450] = { return Api.InputBusinessRecipients.parse_inputBusinessRecipients($0) } dict[1871393450] = { return Api.InputBusinessRecipients.parse_inputBusinessRecipients($0) }
dict[-212145112] = { return Api.InputChannel.parse_inputChannel($0) } dict[-212145112] = { return Api.InputChannel.parse_inputChannel($0) }
@ -1315,7 +1315,7 @@ public extension Api {
return parser(reader) return parser(reader)
} }
else { else {
telegramApiLog("Type constructor \(String(UInt32(bitPattern: signature), radix: 16, uppercase: false)) not found") telegramApiLog("Type constructor \(String(signature, radix: 16, uppercase: false)) not found")
return nil return nil
} }
} }

View File

@ -590,14 +590,15 @@ public extension Api {
} }
public extension Api { public extension Api {
enum BusinessAwayMessage: TypeConstructorDescription { enum BusinessAwayMessage: TypeConstructorDescription {
case businessAwayMessage(shortcutId: Int32, schedule: Api.BusinessAwayMessageSchedule, recipients: Api.BusinessRecipients) case businessAwayMessage(flags: Int32, shortcutId: Int32, schedule: Api.BusinessAwayMessageSchedule, recipients: Api.BusinessRecipients)
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
switch self { switch self {
case .businessAwayMessage(let shortcutId, let schedule, let recipients): case .businessAwayMessage(let flags, let shortcutId, let schedule, let recipients):
if boxed { if boxed {
buffer.appendInt32(467254972) buffer.appendInt32(-283809188)
} }
serializeInt32(flags, buffer: buffer, boxed: false)
serializeInt32(shortcutId, buffer: buffer, boxed: false) serializeInt32(shortcutId, buffer: buffer, boxed: false)
schedule.serialize(buffer, true) schedule.serialize(buffer, true)
recipients.serialize(buffer, true) recipients.serialize(buffer, true)
@ -607,27 +608,30 @@ public extension Api {
public func descriptionFields() -> (String, [(String, Any)]) { public func descriptionFields() -> (String, [(String, Any)]) {
switch self { switch self {
case .businessAwayMessage(let shortcutId, let schedule, let recipients): case .businessAwayMessage(let flags, let shortcutId, let schedule, let recipients):
return ("businessAwayMessage", [("shortcutId", shortcutId as Any), ("schedule", schedule as Any), ("recipients", recipients as Any)]) return ("businessAwayMessage", [("flags", flags as Any), ("shortcutId", shortcutId as Any), ("schedule", schedule as Any), ("recipients", recipients as Any)])
} }
} }
public static func parse_businessAwayMessage(_ reader: BufferReader) -> BusinessAwayMessage? { public static func parse_businessAwayMessage(_ reader: BufferReader) -> BusinessAwayMessage? {
var _1: Int32? var _1: Int32?
_1 = reader.readInt32() _1 = reader.readInt32()
var _2: Api.BusinessAwayMessageSchedule? var _2: Int32?
_2 = reader.readInt32()
var _3: Api.BusinessAwayMessageSchedule?
if let signature = reader.readInt32() { if let signature = reader.readInt32() {
_2 = Api.parse(reader, signature: signature) as? Api.BusinessAwayMessageSchedule _3 = Api.parse(reader, signature: signature) as? Api.BusinessAwayMessageSchedule
} }
var _3: Api.BusinessRecipients? var _4: Api.BusinessRecipients?
if let signature = reader.readInt32() { if let signature = reader.readInt32() {
_3 = Api.parse(reader, signature: signature) as? Api.BusinessRecipients _4 = Api.parse(reader, signature: signature) as? Api.BusinessRecipients
} }
let _c1 = _1 != nil let _c1 = _1 != nil
let _c2 = _2 != nil let _c2 = _2 != nil
let _c3 = _3 != nil let _c3 = _3 != nil
if _c1 && _c2 && _c3 { let _c4 = _4 != nil
return Api.BusinessAwayMessage.businessAwayMessage(shortcutId: _1!, schedule: _2!, recipients: _3!) if _c1 && _c2 && _c3 && _c4 {
return Api.BusinessAwayMessage.businessAwayMessage(flags: _1!, shortcutId: _2!, schedule: _3!, recipients: _4!)
} }
else { else {
return nil return nil

View File

@ -264,14 +264,15 @@ public extension Api {
} }
public extension Api { public extension Api {
enum InputBusinessAwayMessage: TypeConstructorDescription { enum InputBusinessAwayMessage: TypeConstructorDescription {
case inputBusinessAwayMessage(shortcutId: Int32, schedule: Api.BusinessAwayMessageSchedule, recipients: Api.InputBusinessRecipients) case inputBusinessAwayMessage(flags: Int32, shortcutId: Int32, schedule: Api.BusinessAwayMessageSchedule, recipients: Api.InputBusinessRecipients)
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
switch self { switch self {
case .inputBusinessAwayMessage(let shortcutId, let schedule, let recipients): case .inputBusinessAwayMessage(let flags, let shortcutId, let schedule, let recipients):
if boxed { if boxed {
buffer.appendInt32(-307493900) buffer.appendInt32(-2094959136)
} }
serializeInt32(flags, buffer: buffer, boxed: false)
serializeInt32(shortcutId, buffer: buffer, boxed: false) serializeInt32(shortcutId, buffer: buffer, boxed: false)
schedule.serialize(buffer, true) schedule.serialize(buffer, true)
recipients.serialize(buffer, true) recipients.serialize(buffer, true)
@ -281,27 +282,30 @@ public extension Api {
public func descriptionFields() -> (String, [(String, Any)]) { public func descriptionFields() -> (String, [(String, Any)]) {
switch self { switch self {
case .inputBusinessAwayMessage(let shortcutId, let schedule, let recipients): case .inputBusinessAwayMessage(let flags, let shortcutId, let schedule, let recipients):
return ("inputBusinessAwayMessage", [("shortcutId", shortcutId as Any), ("schedule", schedule as Any), ("recipients", recipients as Any)]) return ("inputBusinessAwayMessage", [("flags", flags as Any), ("shortcutId", shortcutId as Any), ("schedule", schedule as Any), ("recipients", recipients as Any)])
} }
} }
public static func parse_inputBusinessAwayMessage(_ reader: BufferReader) -> InputBusinessAwayMessage? { public static func parse_inputBusinessAwayMessage(_ reader: BufferReader) -> InputBusinessAwayMessage? {
var _1: Int32? var _1: Int32?
_1 = reader.readInt32() _1 = reader.readInt32()
var _2: Api.BusinessAwayMessageSchedule? var _2: Int32?
_2 = reader.readInt32()
var _3: Api.BusinessAwayMessageSchedule?
if let signature = reader.readInt32() { if let signature = reader.readInt32() {
_2 = Api.parse(reader, signature: signature) as? Api.BusinessAwayMessageSchedule _3 = Api.parse(reader, signature: signature) as? Api.BusinessAwayMessageSchedule
} }
var _3: Api.InputBusinessRecipients? var _4: Api.InputBusinessRecipients?
if let signature = reader.readInt32() { if let signature = reader.readInt32() {
_3 = Api.parse(reader, signature: signature) as? Api.InputBusinessRecipients _4 = Api.parse(reader, signature: signature) as? Api.InputBusinessRecipients
} }
let _c1 = _1 != nil let _c1 = _1 != nil
let _c2 = _2 != nil let _c2 = _2 != nil
let _c3 = _3 != nil let _c3 = _3 != nil
if _c1 && _c2 && _c3 { let _c4 = _4 != nil
return Api.InputBusinessAwayMessage.inputBusinessAwayMessage(shortcutId: _1!, schedule: _2!, recipients: _3!) if _c1 && _c2 && _c3 && _c4 {
return Api.InputBusinessAwayMessage.inputBusinessAwayMessage(flags: _1!, shortcutId: _2!, schedule: _3!, recipients: _4!)
} }
else { else {
return nil return nil

View File

@ -590,7 +590,8 @@ public final class TelegramBusinessAwayMessage: Codable, Equatable {
extension TelegramBusinessAwayMessage { extension TelegramBusinessAwayMessage {
convenience init(apiAwayMessage: Api.BusinessAwayMessage) { convenience init(apiAwayMessage: Api.BusinessAwayMessage) {
switch apiAwayMessage { switch apiAwayMessage {
case let .businessAwayMessage(shortcutId, schedule, recipients): case let .businessAwayMessage(flags, shortcutId, schedule, recipients):
let _ = flags
let mappedSchedule: Schedule let mappedSchedule: Schedule
switch schedule { switch schedule {
case .businessAwayMessageScheduleAlways: case .businessAwayMessageScheduleAlways:
@ -730,6 +731,7 @@ func _internal_updateBusinessAwayMessage(account: Account, awayMessage: Telegram
} }
mappedMessage = .inputBusinessAwayMessage( mappedMessage = .inputBusinessAwayMessage(
flags: 0,
shortcutId: awayMessage.shortcutId, shortcutId: awayMessage.shortcutId,
schedule: mappedSchedule, schedule: mappedSchedule,
recipients: awayMessage.recipients.apiInputValue(additionalPeers: additionalPeers) recipients: awayMessage.recipients.apiInputValue(additionalPeers: additionalPeers)