public extension Api { indirect enum MessageEntity: TypeConstructorDescription { public class Cons_inputMessageEntityMentionName: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public var userId: Api.InputUser public init(offset: Int32, length: Int32, userId: Api.InputUser) { self.offset = offset self.length = length self.userId = userId } public func descriptionFields() -> (String, [(String, Any)]) { return ("inputMessageEntityMentionName", [("offset", self.offset as Any), ("length", self.length as Any), ("userId", self.userId as Any)]) } } public class Cons_messageEntityBankCard: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityBankCard", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityBlockquote: TypeConstructorDescription { public var flags: Int32 public var offset: Int32 public var length: Int32 public init(flags: Int32, offset: Int32, length: Int32) { self.flags = flags self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityBlockquote", [("flags", self.flags as Any), ("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityBold: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityBold", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityBotCommand: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityBotCommand", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityCashtag: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityCashtag", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityCode: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityCode", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityCustomEmoji: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public var documentId: Int64 public init(offset: Int32, length: Int32, documentId: Int64) { self.offset = offset self.length = length self.documentId = documentId } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityCustomEmoji", [("offset", self.offset as Any), ("length", self.length as Any), ("documentId", self.documentId as Any)]) } } public class Cons_messageEntityEmail: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityEmail", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityFormattedDate: TypeConstructorDescription { public var flags: Int32 public var offset: Int32 public var length: Int32 public var date: Int32 public init(flags: Int32, offset: Int32, length: Int32, date: Int32) { self.flags = flags self.offset = offset self.length = length self.date = date } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityFormattedDate", [("flags", self.flags as Any), ("offset", self.offset as Any), ("length", self.length as Any), ("date", self.date as Any)]) } } public class Cons_messageEntityHashtag: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityHashtag", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityItalic: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityItalic", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityMention: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityMention", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityMentionName: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public var userId: Int64 public init(offset: Int32, length: Int32, userId: Int64) { self.offset = offset self.length = length self.userId = userId } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityMentionName", [("offset", self.offset as Any), ("length", self.length as Any), ("userId", self.userId as Any)]) } } public class Cons_messageEntityPhone: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityPhone", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityPre: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public var language: String public init(offset: Int32, length: Int32, language: String) { self.offset = offset self.length = length self.language = language } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityPre", [("offset", self.offset as Any), ("length", self.length as Any), ("language", self.language as Any)]) } } public class Cons_messageEntitySpoiler: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntitySpoiler", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityStrike: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityStrike", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityTextUrl: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public var url: String public init(offset: Int32, length: Int32, url: String) { self.offset = offset self.length = length self.url = url } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityTextUrl", [("offset", self.offset as Any), ("length", self.length as Any), ("url", self.url as Any)]) } } public class Cons_messageEntityUnderline: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityUnderline", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityUnknown: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityUnknown", [("offset", self.offset as Any), ("length", self.length as Any)]) } } public class Cons_messageEntityUrl: TypeConstructorDescription { public var offset: Int32 public var length: Int32 public init(offset: Int32, length: Int32) { self.offset = offset self.length = length } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageEntityUrl", [("offset", self.offset as Any), ("length", self.length as Any)]) } } case inputMessageEntityMentionName(Cons_inputMessageEntityMentionName) case messageEntityBankCard(Cons_messageEntityBankCard) case messageEntityBlockquote(Cons_messageEntityBlockquote) case messageEntityBold(Cons_messageEntityBold) case messageEntityBotCommand(Cons_messageEntityBotCommand) case messageEntityCashtag(Cons_messageEntityCashtag) case messageEntityCode(Cons_messageEntityCode) case messageEntityCustomEmoji(Cons_messageEntityCustomEmoji) case messageEntityEmail(Cons_messageEntityEmail) case messageEntityFormattedDate(Cons_messageEntityFormattedDate) case messageEntityHashtag(Cons_messageEntityHashtag) case messageEntityItalic(Cons_messageEntityItalic) case messageEntityMention(Cons_messageEntityMention) case messageEntityMentionName(Cons_messageEntityMentionName) case messageEntityPhone(Cons_messageEntityPhone) case messageEntityPre(Cons_messageEntityPre) case messageEntitySpoiler(Cons_messageEntitySpoiler) case messageEntityStrike(Cons_messageEntityStrike) case messageEntityTextUrl(Cons_messageEntityTextUrl) case messageEntityUnderline(Cons_messageEntityUnderline) case messageEntityUnknown(Cons_messageEntityUnknown) case messageEntityUrl(Cons_messageEntityUrl) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .inputMessageEntityMentionName(let _data): if boxed { buffer.appendInt32(546203849) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) _data.userId.serialize(buffer, true) break case .messageEntityBankCard(let _data): if boxed { buffer.appendInt32(1981704948) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityBlockquote(let _data): if boxed { buffer.appendInt32(-238245204) } serializeInt32(_data.flags, buffer: buffer, boxed: false) serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityBold(let _data): if boxed { buffer.appendInt32(-1117713463) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityBotCommand(let _data): if boxed { buffer.appendInt32(1827637959) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityCashtag(let _data): if boxed { buffer.appendInt32(1280209983) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityCode(let _data): if boxed { buffer.appendInt32(681706865) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityCustomEmoji(let _data): if boxed { buffer.appendInt32(-925956616) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) serializeInt64(_data.documentId, buffer: buffer, boxed: false) break case .messageEntityEmail(let _data): if boxed { buffer.appendInt32(1692693954) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityFormattedDate(let _data): if boxed { buffer.appendInt32(-1874147385) } serializeInt32(_data.flags, buffer: buffer, boxed: false) serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) serializeInt32(_data.date, buffer: buffer, boxed: false) break case .messageEntityHashtag(let _data): if boxed { buffer.appendInt32(1868782349) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityItalic(let _data): if boxed { buffer.appendInt32(-2106619040) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityMention(let _data): if boxed { buffer.appendInt32(-100378723) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityMentionName(let _data): if boxed { buffer.appendInt32(-595914432) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) serializeInt64(_data.userId, buffer: buffer, boxed: false) break case .messageEntityPhone(let _data): if boxed { buffer.appendInt32(-1687559349) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityPre(let _data): if boxed { buffer.appendInt32(1938967520) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) serializeString(_data.language, buffer: buffer, boxed: false) break case .messageEntitySpoiler(let _data): if boxed { buffer.appendInt32(852137487) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityStrike(let _data): if boxed { buffer.appendInt32(-1090087980) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityTextUrl(let _data): if boxed { buffer.appendInt32(1990644519) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) serializeString(_data.url, buffer: buffer, boxed: false) break case .messageEntityUnderline(let _data): if boxed { buffer.appendInt32(-1672577397) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityUnknown(let _data): if boxed { buffer.appendInt32(-1148011883) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break case .messageEntityUrl(let _data): if boxed { buffer.appendInt32(1859134776) } serializeInt32(_data.offset, buffer: buffer, boxed: false) serializeInt32(_data.length, buffer: buffer, boxed: false) break } } public func descriptionFields() -> (String, [(String, Any)]) { switch self { case .inputMessageEntityMentionName(let _data): return ("inputMessageEntityMentionName", [("offset", _data.offset as Any), ("length", _data.length as Any), ("userId", _data.userId as Any)]) case .messageEntityBankCard(let _data): return ("messageEntityBankCard", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityBlockquote(let _data): return ("messageEntityBlockquote", [("flags", _data.flags as Any), ("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityBold(let _data): return ("messageEntityBold", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityBotCommand(let _data): return ("messageEntityBotCommand", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityCashtag(let _data): return ("messageEntityCashtag", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityCode(let _data): return ("messageEntityCode", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityCustomEmoji(let _data): return ("messageEntityCustomEmoji", [("offset", _data.offset as Any), ("length", _data.length as Any), ("documentId", _data.documentId as Any)]) case .messageEntityEmail(let _data): return ("messageEntityEmail", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityFormattedDate(let _data): return ("messageEntityFormattedDate", [("flags", _data.flags as Any), ("offset", _data.offset as Any), ("length", _data.length as Any), ("date", _data.date as Any)]) case .messageEntityHashtag(let _data): return ("messageEntityHashtag", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityItalic(let _data): return ("messageEntityItalic", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityMention(let _data): return ("messageEntityMention", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityMentionName(let _data): return ("messageEntityMentionName", [("offset", _data.offset as Any), ("length", _data.length as Any), ("userId", _data.userId as Any)]) case .messageEntityPhone(let _data): return ("messageEntityPhone", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityPre(let _data): return ("messageEntityPre", [("offset", _data.offset as Any), ("length", _data.length as Any), ("language", _data.language as Any)]) case .messageEntitySpoiler(let _data): return ("messageEntitySpoiler", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityStrike(let _data): return ("messageEntityStrike", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityTextUrl(let _data): return ("messageEntityTextUrl", [("offset", _data.offset as Any), ("length", _data.length as Any), ("url", _data.url as Any)]) case .messageEntityUnderline(let _data): return ("messageEntityUnderline", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityUnknown(let _data): return ("messageEntityUnknown", [("offset", _data.offset as Any), ("length", _data.length as Any)]) case .messageEntityUrl(let _data): return ("messageEntityUrl", [("offset", _data.offset as Any), ("length", _data.length as Any)]) } } public static func parse_inputMessageEntityMentionName(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Api.InputUser? if let signature = reader.readInt32() { _3 = Api.parse(reader, signature: signature) as? Api.InputUser } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.MessageEntity.inputMessageEntityMentionName(Cons_inputMessageEntityMentionName(offset: _1!, length: _2!, userId: _3!)) } else { return nil } } public static func parse_messageEntityBankCard(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityBankCard(Cons_messageEntityBankCard(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityBlockquote(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.MessageEntity.messageEntityBlockquote(Cons_messageEntityBlockquote(flags: _1!, offset: _2!, length: _3!)) } else { return nil } } public static func parse_messageEntityBold(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityBold(Cons_messageEntityBold(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityBotCommand(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityBotCommand(Cons_messageEntityBotCommand(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityCashtag(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityCashtag(Cons_messageEntityCashtag(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityCode(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityCode(Cons_messageEntityCode(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityCustomEmoji(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int64? _3 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.MessageEntity.messageEntityCustomEmoji(Cons_messageEntityCustomEmoji(offset: _1!, length: _2!, documentId: _3!)) } else { return nil } } public static func parse_messageEntityEmail(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityEmail(Cons_messageEntityEmail(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityFormattedDate(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = 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.MessageEntity.messageEntityFormattedDate(Cons_messageEntityFormattedDate(flags: _1!, offset: _2!, length: _3!, date: _4!)) } else { return nil } } public static func parse_messageEntityHashtag(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityHashtag(Cons_messageEntityHashtag(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityItalic(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityItalic(Cons_messageEntityItalic(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityMention(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityMention(Cons_messageEntityMention(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityMentionName(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int64? _3 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.MessageEntity.messageEntityMentionName(Cons_messageEntityMentionName(offset: _1!, length: _2!, userId: _3!)) } else { return nil } } public static func parse_messageEntityPhone(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityPhone(Cons_messageEntityPhone(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityPre(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: String? _3 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.MessageEntity.messageEntityPre(Cons_messageEntityPre(offset: _1!, length: _2!, language: _3!)) } else { return nil } } public static func parse_messageEntitySpoiler(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntitySpoiler(Cons_messageEntitySpoiler(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityStrike(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityStrike(Cons_messageEntityStrike(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityTextUrl(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: String? _3 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.MessageEntity.messageEntityTextUrl(Cons_messageEntityTextUrl(offset: _1!, length: _2!, url: _3!)) } else { return nil } } public static func parse_messageEntityUnderline(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityUnderline(Cons_messageEntityUnderline(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityUnknown(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityUnknown(Cons_messageEntityUnknown(offset: _1!, length: _2!)) } else { return nil } } public static func parse_messageEntityUrl(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageEntity.messageEntityUrl(Cons_messageEntityUrl(offset: _1!, length: _2!)) } else { return nil } } } } public extension Api { indirect enum MessageExtendedMedia: TypeConstructorDescription { public class Cons_messageExtendedMedia: TypeConstructorDescription { public var media: Api.MessageMedia public init(media: Api.MessageMedia) { self.media = media } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageExtendedMedia", [("media", self.media as Any)]) } } public class Cons_messageExtendedMediaPreview: TypeConstructorDescription { public var flags: Int32 public var w: Int32? public var h: Int32? public var thumb: Api.PhotoSize? public var videoDuration: Int32? public init(flags: Int32, w: Int32?, h: Int32?, thumb: Api.PhotoSize?, videoDuration: Int32?) { self.flags = flags self.w = w self.h = h self.thumb = thumb self.videoDuration = videoDuration } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageExtendedMediaPreview", [("flags", self.flags as Any), ("w", self.w as Any), ("h", self.h as Any), ("thumb", self.thumb as Any), ("videoDuration", self.videoDuration as Any)]) } } case messageExtendedMedia(Cons_messageExtendedMedia) case messageExtendedMediaPreview(Cons_messageExtendedMediaPreview) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .messageExtendedMedia(let _data): if boxed { buffer.appendInt32(-297296796) } _data.media.serialize(buffer, true) break case .messageExtendedMediaPreview(let _data): if boxed { buffer.appendInt32(-1386050360) } serializeInt32(_data.flags, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { serializeInt32(_data.w!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 0) != 0 { serializeInt32(_data.h!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 1) != 0 { _data.thumb!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 2) != 0 { serializeInt32(_data.videoDuration!, buffer: buffer, boxed: false) } break } } public func descriptionFields() -> (String, [(String, Any)]) { switch self { case .messageExtendedMedia(let _data): return ("messageExtendedMedia", [("media", _data.media as Any)]) case .messageExtendedMediaPreview(let _data): return ("messageExtendedMediaPreview", [("flags", _data.flags as Any), ("w", _data.w as Any), ("h", _data.h as Any), ("thumb", _data.thumb as Any), ("videoDuration", _data.videoDuration as Any)]) } } public static func parse_messageExtendedMedia(_ reader: BufferReader) -> MessageExtendedMedia? { var _1: Api.MessageMedia? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.MessageMedia } let _c1 = _1 != nil if _c1 { return Api.MessageExtendedMedia.messageExtendedMedia(Cons_messageExtendedMedia(media: _1!)) } else { return nil } } public static func parse_messageExtendedMediaPreview(_ reader: BufferReader) -> MessageExtendedMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? if Int(_1!) & Int(1 << 0) != 0 { _2 = reader.readInt32() } var _3: Int32? if Int(_1!) & Int(1 << 0) != 0 { _3 = reader.readInt32() } var _4: Api.PhotoSize? if Int(_1!) & Int(1 << 1) != 0 { if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.PhotoSize } } var _5: Int32? if Int(_1!) & Int(1 << 2) != 0 { _5 = reader.readInt32() } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = (Int(_1!) & Int(1 << 0) == 0) || _3 != nil let _c4 = (Int(_1!) & Int(1 << 1) == 0) || _4 != nil let _c5 = (Int(_1!) & Int(1 << 2) == 0) || _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.MessageExtendedMedia.messageExtendedMediaPreview(Cons_messageExtendedMediaPreview(flags: _1!, w: _2, h: _3, thumb: _4, videoDuration: _5)) } else { return nil } } } } public extension Api { enum MessageFwdHeader: TypeConstructorDescription { public class Cons_messageFwdHeader: TypeConstructorDescription { public var flags: Int32 public var fromId: Api.Peer? public var fromName: String? public var date: Int32 public var channelPost: Int32? public var postAuthor: String? public var savedFromPeer: Api.Peer? public var savedFromMsgId: Int32? public var savedFromId: Api.Peer? public var savedFromName: String? public var savedDate: Int32? public var psaType: String? public init(flags: Int32, fromId: Api.Peer?, fromName: String?, date: Int32, channelPost: Int32?, postAuthor: String?, savedFromPeer: Api.Peer?, savedFromMsgId: Int32?, savedFromId: Api.Peer?, savedFromName: String?, savedDate: Int32?, psaType: String?) { self.flags = flags self.fromId = fromId self.fromName = fromName self.date = date self.channelPost = channelPost self.postAuthor = postAuthor self.savedFromPeer = savedFromPeer self.savedFromMsgId = savedFromMsgId self.savedFromId = savedFromId self.savedFromName = savedFromName self.savedDate = savedDate self.psaType = psaType } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageFwdHeader", [("flags", self.flags as Any), ("fromId", self.fromId as Any), ("fromName", self.fromName as Any), ("date", self.date as Any), ("channelPost", self.channelPost as Any), ("postAuthor", self.postAuthor as Any), ("savedFromPeer", self.savedFromPeer as Any), ("savedFromMsgId", self.savedFromMsgId as Any), ("savedFromId", self.savedFromId as Any), ("savedFromName", self.savedFromName as Any), ("savedDate", self.savedDate as Any), ("psaType", self.psaType as Any)]) } } case messageFwdHeader(Cons_messageFwdHeader) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .messageFwdHeader(let _data): if boxed { buffer.appendInt32(1313731771) } serializeInt32(_data.flags, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { _data.fromId!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 5) != 0 { serializeString(_data.fromName!, buffer: buffer, boxed: false) } serializeInt32(_data.date, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 2) != 0 { serializeInt32(_data.channelPost!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 3) != 0 { serializeString(_data.postAuthor!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 4) != 0 { _data.savedFromPeer!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 4) != 0 { serializeInt32(_data.savedFromMsgId!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 8) != 0 { _data.savedFromId!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 9) != 0 { serializeString(_data.savedFromName!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 10) != 0 { serializeInt32(_data.savedDate!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 6) != 0 { serializeString(_data.psaType!, buffer: buffer, boxed: false) } break } } public func descriptionFields() -> (String, [(String, Any)]) { switch self { case .messageFwdHeader(let _data): return ("messageFwdHeader", [("flags", _data.flags as Any), ("fromId", _data.fromId as Any), ("fromName", _data.fromName as Any), ("date", _data.date as Any), ("channelPost", _data.channelPost as Any), ("postAuthor", _data.postAuthor as Any), ("savedFromPeer", _data.savedFromPeer as Any), ("savedFromMsgId", _data.savedFromMsgId as Any), ("savedFromId", _data.savedFromId as Any), ("savedFromName", _data.savedFromName as Any), ("savedDate", _data.savedDate as Any), ("psaType", _data.psaType as Any)]) } } public static func parse_messageFwdHeader(_ reader: BufferReader) -> MessageFwdHeader? { var _1: Int32? _1 = reader.readInt32() var _2: Api.Peer? if Int(_1!) & Int(1 << 0) != 0 { if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.Peer } } var _3: String? if Int(_1!) & Int(1 << 5) != 0 { _3 = parseString(reader) } var _4: Int32? _4 = reader.readInt32() var _5: Int32? if Int(_1!) & Int(1 << 2) != 0 { _5 = reader.readInt32() } var _6: String? if Int(_1!) & Int(1 << 3) != 0 { _6 = parseString(reader) } var _7: Api.Peer? if Int(_1!) & Int(1 << 4) != 0 { if let signature = reader.readInt32() { _7 = Api.parse(reader, signature: signature) as? Api.Peer } } var _8: Int32? if Int(_1!) & Int(1 << 4) != 0 { _8 = reader.readInt32() } var _9: Api.Peer? if Int(_1!) & Int(1 << 8) != 0 { if let signature = reader.readInt32() { _9 = Api.parse(reader, signature: signature) as? Api.Peer } } var _10: String? if Int(_1!) & Int(1 << 9) != 0 { _10 = parseString(reader) } var _11: Int32? if Int(_1!) & Int(1 << 10) != 0 { _11 = reader.readInt32() } var _12: String? if Int(_1!) & Int(1 << 6) != 0 { _12 = parseString(reader) } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = (Int(_1!) & Int(1 << 5) == 0) || _3 != nil let _c4 = _4 != nil let _c5 = (Int(_1!) & Int(1 << 2) == 0) || _5 != nil let _c6 = (Int(_1!) & Int(1 << 3) == 0) || _6 != nil let _c7 = (Int(_1!) & Int(1 << 4) == 0) || _7 != nil let _c8 = (Int(_1!) & Int(1 << 4) == 0) || _8 != nil let _c9 = (Int(_1!) & Int(1 << 8) == 0) || _9 != nil let _c10 = (Int(_1!) & Int(1 << 9) == 0) || _10 != nil let _c11 = (Int(_1!) & Int(1 << 10) == 0) || _11 != nil let _c12 = (Int(_1!) & Int(1 << 6) == 0) || _12 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 && _c12 { return Api.MessageFwdHeader.messageFwdHeader(Cons_messageFwdHeader(flags: _1!, fromId: _2, fromName: _3, date: _4!, channelPost: _5, postAuthor: _6, savedFromPeer: _7, savedFromMsgId: _8, savedFromId: _9, savedFromName: _10, savedDate: _11, psaType: _12)) } else { return nil } } } } public extension Api { indirect enum MessageMedia: TypeConstructorDescription { public class Cons_messageMediaContact: TypeConstructorDescription { public var phoneNumber: String public var firstName: String public var lastName: String public var vcard: String public var userId: Int64 public init(phoneNumber: String, firstName: String, lastName: String, vcard: String, userId: Int64) { self.phoneNumber = phoneNumber self.firstName = firstName self.lastName = lastName self.vcard = vcard self.userId = userId } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaContact", [("phoneNumber", self.phoneNumber as Any), ("firstName", self.firstName as Any), ("lastName", self.lastName as Any), ("vcard", self.vcard as Any), ("userId", self.userId as Any)]) } } public class Cons_messageMediaDice: TypeConstructorDescription { public var flags: Int32 public var value: Int32 public var emoticon: String public var gameOutcome: Api.messages.EmojiGameOutcome? public init(flags: Int32, value: Int32, emoticon: String, gameOutcome: Api.messages.EmojiGameOutcome?) { self.flags = flags self.value = value self.emoticon = emoticon self.gameOutcome = gameOutcome } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaDice", [("flags", self.flags as Any), ("value", self.value as Any), ("emoticon", self.emoticon as Any), ("gameOutcome", self.gameOutcome as Any)]) } } public class Cons_messageMediaDocument: TypeConstructorDescription { public var flags: Int32 public var document: Api.Document? public var altDocuments: [Api.Document]? public var videoCover: Api.Photo? public var videoTimestamp: Int32? public var ttlSeconds: Int32? public init(flags: Int32, document: Api.Document?, altDocuments: [Api.Document]?, videoCover: Api.Photo?, videoTimestamp: Int32?, ttlSeconds: Int32?) { self.flags = flags self.document = document self.altDocuments = altDocuments self.videoCover = videoCover self.videoTimestamp = videoTimestamp self.ttlSeconds = ttlSeconds } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaDocument", [("flags", self.flags as Any), ("document", self.document as Any), ("altDocuments", self.altDocuments as Any), ("videoCover", self.videoCover as Any), ("videoTimestamp", self.videoTimestamp as Any), ("ttlSeconds", self.ttlSeconds as Any)]) } } public class Cons_messageMediaGame: TypeConstructorDescription { public var game: Api.Game public init(game: Api.Game) { self.game = game } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaGame", [("game", self.game as Any)]) } } public class Cons_messageMediaGeo: TypeConstructorDescription { public var geo: Api.GeoPoint public init(geo: Api.GeoPoint) { self.geo = geo } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaGeo", [("geo", self.geo as Any)]) } } public class Cons_messageMediaGeoLive: TypeConstructorDescription { public var flags: Int32 public var geo: Api.GeoPoint public var heading: Int32? public var period: Int32 public var proximityNotificationRadius: Int32? public init(flags: Int32, geo: Api.GeoPoint, heading: Int32?, period: Int32, proximityNotificationRadius: Int32?) { self.flags = flags self.geo = geo self.heading = heading self.period = period self.proximityNotificationRadius = proximityNotificationRadius } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaGeoLive", [("flags", self.flags as Any), ("geo", self.geo as Any), ("heading", self.heading as Any), ("period", self.period as Any), ("proximityNotificationRadius", self.proximityNotificationRadius as Any)]) } } public class Cons_messageMediaGiveaway: TypeConstructorDescription { public var flags: Int32 public var channels: [Int64] public var countriesIso2: [String]? public var prizeDescription: String? public var quantity: Int32 public var months: Int32? public var stars: Int64? public var untilDate: Int32 public init(flags: Int32, channels: [Int64], countriesIso2: [String]?, prizeDescription: String?, quantity: Int32, months: Int32?, stars: Int64?, untilDate: Int32) { self.flags = flags self.channels = channels self.countriesIso2 = countriesIso2 self.prizeDescription = prizeDescription self.quantity = quantity self.months = months self.stars = stars self.untilDate = untilDate } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaGiveaway", [("flags", self.flags as Any), ("channels", self.channels as Any), ("countriesIso2", self.countriesIso2 as Any), ("prizeDescription", self.prizeDescription as Any), ("quantity", self.quantity as Any), ("months", self.months as Any), ("stars", self.stars as Any), ("untilDate", self.untilDate as Any)]) } } public class Cons_messageMediaGiveawayResults: TypeConstructorDescription { public var flags: Int32 public var channelId: Int64 public var additionalPeersCount: Int32? public var launchMsgId: Int32 public var winnersCount: Int32 public var unclaimedCount: Int32 public var winners: [Int64] public var months: Int32? public var stars: Int64? public var prizeDescription: String? public var untilDate: Int32 public init(flags: Int32, channelId: Int64, additionalPeersCount: Int32?, launchMsgId: Int32, winnersCount: Int32, unclaimedCount: Int32, winners: [Int64], months: Int32?, stars: Int64?, prizeDescription: String?, untilDate: Int32) { self.flags = flags self.channelId = channelId self.additionalPeersCount = additionalPeersCount self.launchMsgId = launchMsgId self.winnersCount = winnersCount self.unclaimedCount = unclaimedCount self.winners = winners self.months = months self.stars = stars self.prizeDescription = prizeDescription self.untilDate = untilDate } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaGiveawayResults", [("flags", self.flags as Any), ("channelId", self.channelId as Any), ("additionalPeersCount", self.additionalPeersCount as Any), ("launchMsgId", self.launchMsgId as Any), ("winnersCount", self.winnersCount as Any), ("unclaimedCount", self.unclaimedCount as Any), ("winners", self.winners as Any), ("months", self.months as Any), ("stars", self.stars as Any), ("prizeDescription", self.prizeDescription as Any), ("untilDate", self.untilDate as Any)]) } } public class Cons_messageMediaInvoice: TypeConstructorDescription { public var flags: Int32 public var title: String public var description: String public var photo: Api.WebDocument? public var receiptMsgId: Int32? public var currency: String public var totalAmount: Int64 public var startParam: String public var extendedMedia: Api.MessageExtendedMedia? public init(flags: Int32, title: String, description: String, photo: Api.WebDocument?, receiptMsgId: Int32?, currency: String, totalAmount: Int64, startParam: String, extendedMedia: Api.MessageExtendedMedia?) { self.flags = flags self.title = title self.description = description self.photo = photo self.receiptMsgId = receiptMsgId self.currency = currency self.totalAmount = totalAmount self.startParam = startParam self.extendedMedia = extendedMedia } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaInvoice", [("flags", self.flags as Any), ("title", self.title as Any), ("description", self.description as Any), ("photo", self.photo as Any), ("receiptMsgId", self.receiptMsgId as Any), ("currency", self.currency as Any), ("totalAmount", self.totalAmount as Any), ("startParam", self.startParam as Any), ("extendedMedia", self.extendedMedia as Any)]) } } public class Cons_messageMediaPaidMedia: TypeConstructorDescription { public var starsAmount: Int64 public var extendedMedia: [Api.MessageExtendedMedia] public init(starsAmount: Int64, extendedMedia: [Api.MessageExtendedMedia]) { self.starsAmount = starsAmount self.extendedMedia = extendedMedia } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaPaidMedia", [("starsAmount", self.starsAmount as Any), ("extendedMedia", self.extendedMedia as Any)]) } } public class Cons_messageMediaPhoto: TypeConstructorDescription { public var flags: Int32 public var photo: Api.Photo? public var ttlSeconds: Int32? public init(flags: Int32, photo: Api.Photo?, ttlSeconds: Int32?) { self.flags = flags self.photo = photo self.ttlSeconds = ttlSeconds } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaPhoto", [("flags", self.flags as Any), ("photo", self.photo as Any), ("ttlSeconds", self.ttlSeconds as Any)]) } } public class Cons_messageMediaPoll: TypeConstructorDescription { public var poll: Api.Poll public var results: Api.PollResults public init(poll: Api.Poll, results: Api.PollResults) { self.poll = poll self.results = results } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaPoll", [("poll", self.poll as Any), ("results", self.results as Any)]) } } public class Cons_messageMediaStory: TypeConstructorDescription { public var flags: Int32 public var peer: Api.Peer public var id: Int32 public var story: Api.StoryItem? public init(flags: Int32, peer: Api.Peer, id: Int32, story: Api.StoryItem?) { self.flags = flags self.peer = peer self.id = id self.story = story } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaStory", [("flags", self.flags as Any), ("peer", self.peer as Any), ("id", self.id as Any), ("story", self.story as Any)]) } } public class Cons_messageMediaToDo: TypeConstructorDescription { public var flags: Int32 public var todo: Api.TodoList public var completions: [Api.TodoCompletion]? public init(flags: Int32, todo: Api.TodoList, completions: [Api.TodoCompletion]?) { self.flags = flags self.todo = todo self.completions = completions } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaToDo", [("flags", self.flags as Any), ("todo", self.todo as Any), ("completions", self.completions as Any)]) } } public class Cons_messageMediaVenue: TypeConstructorDescription { public var geo: Api.GeoPoint public var title: String public var address: String public var provider: String public var venueId: String public var venueType: String public init(geo: Api.GeoPoint, title: String, address: String, provider: String, venueId: String, venueType: String) { self.geo = geo self.title = title self.address = address self.provider = provider self.venueId = venueId self.venueType = venueType } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaVenue", [("geo", self.geo as Any), ("title", self.title as Any), ("address", self.address as Any), ("provider", self.provider as Any), ("venueId", self.venueId as Any), ("venueType", self.venueType as Any)]) } } public class Cons_messageMediaVideoStream: TypeConstructorDescription { public var flags: Int32 public var call: Api.InputGroupCall public init(flags: Int32, call: Api.InputGroupCall) { self.flags = flags self.call = call } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaVideoStream", [("flags", self.flags as Any), ("call", self.call as Any)]) } } public class Cons_messageMediaWebPage: TypeConstructorDescription { public var flags: Int32 public var webpage: Api.WebPage public init(flags: Int32, webpage: Api.WebPage) { self.flags = flags self.webpage = webpage } public func descriptionFields() -> (String, [(String, Any)]) { return ("messageMediaWebPage", [("flags", self.flags as Any), ("webpage", self.webpage as Any)]) } } case messageMediaContact(Cons_messageMediaContact) case messageMediaDice(Cons_messageMediaDice) case messageMediaDocument(Cons_messageMediaDocument) case messageMediaEmpty case messageMediaGame(Cons_messageMediaGame) case messageMediaGeo(Cons_messageMediaGeo) case messageMediaGeoLive(Cons_messageMediaGeoLive) case messageMediaGiveaway(Cons_messageMediaGiveaway) case messageMediaGiveawayResults(Cons_messageMediaGiveawayResults) case messageMediaInvoice(Cons_messageMediaInvoice) case messageMediaPaidMedia(Cons_messageMediaPaidMedia) case messageMediaPhoto(Cons_messageMediaPhoto) case messageMediaPoll(Cons_messageMediaPoll) case messageMediaStory(Cons_messageMediaStory) case messageMediaToDo(Cons_messageMediaToDo) case messageMediaUnsupported case messageMediaVenue(Cons_messageMediaVenue) case messageMediaVideoStream(Cons_messageMediaVideoStream) case messageMediaWebPage(Cons_messageMediaWebPage) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .messageMediaContact(let _data): if boxed { buffer.appendInt32(1882335561) } serializeString(_data.phoneNumber, buffer: buffer, boxed: false) serializeString(_data.firstName, buffer: buffer, boxed: false) serializeString(_data.lastName, buffer: buffer, boxed: false) serializeString(_data.vcard, buffer: buffer, boxed: false) serializeInt64(_data.userId, buffer: buffer, boxed: false) break case .messageMediaDice(let _data): if boxed { buffer.appendInt32(147581959) } serializeInt32(_data.flags, buffer: buffer, boxed: false) serializeInt32(_data.value, buffer: buffer, boxed: false) serializeString(_data.emoticon, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { _data.gameOutcome!.serialize(buffer, true) } break case .messageMediaDocument(let _data): if boxed { buffer.appendInt32(1389939929) } serializeInt32(_data.flags, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { _data.document!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 5) != 0 { buffer.appendInt32(481674261) buffer.appendInt32(Int32(_data.altDocuments!.count)) for item in _data.altDocuments! { item.serialize(buffer, true) } } if Int(_data.flags) & Int(1 << 9) != 0 { _data.videoCover!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 10) != 0 { serializeInt32(_data.videoTimestamp!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 2) != 0 { serializeInt32(_data.ttlSeconds!, buffer: buffer, boxed: false) } break case .messageMediaEmpty: if boxed { buffer.appendInt32(1038967584) } break case .messageMediaGame(let _data): if boxed { buffer.appendInt32(-38694904) } _data.game.serialize(buffer, true) break case .messageMediaGeo(let _data): if boxed { buffer.appendInt32(1457575028) } _data.geo.serialize(buffer, true) break case .messageMediaGeoLive(let _data): if boxed { buffer.appendInt32(-1186937242) } serializeInt32(_data.flags, buffer: buffer, boxed: false) _data.geo.serialize(buffer, true) if Int(_data.flags) & Int(1 << 0) != 0 { serializeInt32(_data.heading!, buffer: buffer, boxed: false) } serializeInt32(_data.period, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 1) != 0 { serializeInt32(_data.proximityNotificationRadius!, buffer: buffer, boxed: false) } break case .messageMediaGiveaway(let _data): if boxed { buffer.appendInt32(-1442366485) } serializeInt32(_data.flags, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(_data.channels.count)) for item in _data.channels { serializeInt64(item, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 1) != 0 { buffer.appendInt32(481674261) buffer.appendInt32(Int32(_data.countriesIso2!.count)) for item in _data.countriesIso2! { serializeString(item, buffer: buffer, boxed: false) } } if Int(_data.flags) & Int(1 << 3) != 0 { serializeString(_data.prizeDescription!, buffer: buffer, boxed: false) } serializeInt32(_data.quantity, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 4) != 0 { serializeInt32(_data.months!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 5) != 0 { serializeInt64(_data.stars!, buffer: buffer, boxed: false) } serializeInt32(_data.untilDate, buffer: buffer, boxed: false) break case .messageMediaGiveawayResults(let _data): if boxed { buffer.appendInt32(-827703647) } serializeInt32(_data.flags, buffer: buffer, boxed: false) serializeInt64(_data.channelId, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 3) != 0 { serializeInt32(_data.additionalPeersCount!, buffer: buffer, boxed: false) } serializeInt32(_data.launchMsgId, buffer: buffer, boxed: false) serializeInt32(_data.winnersCount, buffer: buffer, boxed: false) serializeInt32(_data.unclaimedCount, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(_data.winners.count)) for item in _data.winners { serializeInt64(item, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 4) != 0 { serializeInt32(_data.months!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 5) != 0 { serializeInt64(_data.stars!, buffer: buffer, boxed: false) } if Int(_data.flags) & Int(1 << 1) != 0 { serializeString(_data.prizeDescription!, buffer: buffer, boxed: false) } serializeInt32(_data.untilDate, buffer: buffer, boxed: false) break case .messageMediaInvoice(let _data): if boxed { buffer.appendInt32(-156940077) } serializeInt32(_data.flags, buffer: buffer, boxed: false) serializeString(_data.title, buffer: buffer, boxed: false) serializeString(_data.description, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { _data.photo!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 2) != 0 { serializeInt32(_data.receiptMsgId!, buffer: buffer, boxed: false) } serializeString(_data.currency, buffer: buffer, boxed: false) serializeInt64(_data.totalAmount, buffer: buffer, boxed: false) serializeString(_data.startParam, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 4) != 0 { _data.extendedMedia!.serialize(buffer, true) } break case .messageMediaPaidMedia(let _data): if boxed { buffer.appendInt32(-1467669359) } serializeInt64(_data.starsAmount, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(_data.extendedMedia.count)) for item in _data.extendedMedia { item.serialize(buffer, true) } break case .messageMediaPhoto(let _data): if boxed { buffer.appendInt32(1766936791) } serializeInt32(_data.flags, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { _data.photo!.serialize(buffer, true) } if Int(_data.flags) & Int(1 << 2) != 0 { serializeInt32(_data.ttlSeconds!, buffer: buffer, boxed: false) } break case .messageMediaPoll(let _data): if boxed { buffer.appendInt32(1272375192) } _data.poll.serialize(buffer, true) _data.results.serialize(buffer, true) break case .messageMediaStory(let _data): if boxed { buffer.appendInt32(1758159491) } serializeInt32(_data.flags, buffer: buffer, boxed: false) _data.peer.serialize(buffer, true) serializeInt32(_data.id, buffer: buffer, boxed: false) if Int(_data.flags) & Int(1 << 0) != 0 { _data.story!.serialize(buffer, true) } break case .messageMediaToDo(let _data): if boxed { buffer.appendInt32(-1974226924) } serializeInt32(_data.flags, buffer: buffer, boxed: false) _data.todo.serialize(buffer, true) if Int(_data.flags) & Int(1 << 0) != 0 { buffer.appendInt32(481674261) buffer.appendInt32(Int32(_data.completions!.count)) for item in _data.completions! { item.serialize(buffer, true) } } break case .messageMediaUnsupported: if boxed { buffer.appendInt32(-1618676578) } break case .messageMediaVenue(let _data): if boxed { buffer.appendInt32(784356159) } _data.geo.serialize(buffer, true) serializeString(_data.title, buffer: buffer, boxed: false) serializeString(_data.address, buffer: buffer, boxed: false) serializeString(_data.provider, buffer: buffer, boxed: false) serializeString(_data.venueId, buffer: buffer, boxed: false) serializeString(_data.venueType, buffer: buffer, boxed: false) break case .messageMediaVideoStream(let _data): if boxed { buffer.appendInt32(-899896439) } serializeInt32(_data.flags, buffer: buffer, boxed: false) _data.call.serialize(buffer, true) break case .messageMediaWebPage(let _data): if boxed { buffer.appendInt32(-571405253) } serializeInt32(_data.flags, buffer: buffer, boxed: false) _data.webpage.serialize(buffer, true) break } } public func descriptionFields() -> (String, [(String, Any)]) { switch self { case .messageMediaContact(let _data): return ("messageMediaContact", [("phoneNumber", _data.phoneNumber as Any), ("firstName", _data.firstName as Any), ("lastName", _data.lastName as Any), ("vcard", _data.vcard as Any), ("userId", _data.userId as Any)]) case .messageMediaDice(let _data): return ("messageMediaDice", [("flags", _data.flags as Any), ("value", _data.value as Any), ("emoticon", _data.emoticon as Any), ("gameOutcome", _data.gameOutcome as Any)]) case .messageMediaDocument(let _data): return ("messageMediaDocument", [("flags", _data.flags as Any), ("document", _data.document as Any), ("altDocuments", _data.altDocuments as Any), ("videoCover", _data.videoCover as Any), ("videoTimestamp", _data.videoTimestamp as Any), ("ttlSeconds", _data.ttlSeconds as Any)]) case .messageMediaEmpty: return ("messageMediaEmpty", []) case .messageMediaGame(let _data): return ("messageMediaGame", [("game", _data.game as Any)]) case .messageMediaGeo(let _data): return ("messageMediaGeo", [("geo", _data.geo as Any)]) case .messageMediaGeoLive(let _data): return ("messageMediaGeoLive", [("flags", _data.flags as Any), ("geo", _data.geo as Any), ("heading", _data.heading as Any), ("period", _data.period as Any), ("proximityNotificationRadius", _data.proximityNotificationRadius as Any)]) case .messageMediaGiveaway(let _data): return ("messageMediaGiveaway", [("flags", _data.flags as Any), ("channels", _data.channels as Any), ("countriesIso2", _data.countriesIso2 as Any), ("prizeDescription", _data.prizeDescription as Any), ("quantity", _data.quantity as Any), ("months", _data.months as Any), ("stars", _data.stars as Any), ("untilDate", _data.untilDate as Any)]) case .messageMediaGiveawayResults(let _data): return ("messageMediaGiveawayResults", [("flags", _data.flags as Any), ("channelId", _data.channelId as Any), ("additionalPeersCount", _data.additionalPeersCount as Any), ("launchMsgId", _data.launchMsgId as Any), ("winnersCount", _data.winnersCount as Any), ("unclaimedCount", _data.unclaimedCount as Any), ("winners", _data.winners as Any), ("months", _data.months as Any), ("stars", _data.stars as Any), ("prizeDescription", _data.prizeDescription as Any), ("untilDate", _data.untilDate as Any)]) case .messageMediaInvoice(let _data): return ("messageMediaInvoice", [("flags", _data.flags as Any), ("title", _data.title as Any), ("description", _data.description as Any), ("photo", _data.photo as Any), ("receiptMsgId", _data.receiptMsgId as Any), ("currency", _data.currency as Any), ("totalAmount", _data.totalAmount as Any), ("startParam", _data.startParam as Any), ("extendedMedia", _data.extendedMedia as Any)]) case .messageMediaPaidMedia(let _data): return ("messageMediaPaidMedia", [("starsAmount", _data.starsAmount as Any), ("extendedMedia", _data.extendedMedia as Any)]) case .messageMediaPhoto(let _data): return ("messageMediaPhoto", [("flags", _data.flags as Any), ("photo", _data.photo as Any), ("ttlSeconds", _data.ttlSeconds as Any)]) case .messageMediaPoll(let _data): return ("messageMediaPoll", [("poll", _data.poll as Any), ("results", _data.results as Any)]) case .messageMediaStory(let _data): return ("messageMediaStory", [("flags", _data.flags as Any), ("peer", _data.peer as Any), ("id", _data.id as Any), ("story", _data.story as Any)]) case .messageMediaToDo(let _data): return ("messageMediaToDo", [("flags", _data.flags as Any), ("todo", _data.todo as Any), ("completions", _data.completions as Any)]) case .messageMediaUnsupported: return ("messageMediaUnsupported", []) case .messageMediaVenue(let _data): return ("messageMediaVenue", [("geo", _data.geo as Any), ("title", _data.title as Any), ("address", _data.address as Any), ("provider", _data.provider as Any), ("venueId", _data.venueId as Any), ("venueType", _data.venueType as Any)]) case .messageMediaVideoStream(let _data): return ("messageMediaVideoStream", [("flags", _data.flags as Any), ("call", _data.call as Any)]) case .messageMediaWebPage(let _data): return ("messageMediaWebPage", [("flags", _data.flags as Any), ("webpage", _data.webpage as Any)]) } } public static func parse_messageMediaContact(_ reader: BufferReader) -> MessageMedia? { var _1: String? _1 = parseString(reader) var _2: String? _2 = parseString(reader) var _3: String? _3 = parseString(reader) var _4: String? _4 = parseString(reader) var _5: Int64? _5 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.MessageMedia.messageMediaContact(Cons_messageMediaContact(phoneNumber: _1!, firstName: _2!, lastName: _3!, vcard: _4!, userId: _5!)) } else { return nil } } public static func parse_messageMediaDice(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: String? _3 = parseString(reader) var _4: Api.messages.EmojiGameOutcome? if Int(_1!) & Int(1 << 0) != 0 { if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.messages.EmojiGameOutcome } } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = (Int(_1!) & Int(1 << 0) == 0) || _4 != nil if _c1 && _c2 && _c3 && _c4 { return Api.MessageMedia.messageMediaDice(Cons_messageMediaDice(flags: _1!, value: _2!, emoticon: _3!, gameOutcome: _4)) } else { return nil } } public static func parse_messageMediaDocument(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.Document? if Int(_1!) & Int(1 << 0) != 0 { if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.Document } } var _3: [Api.Document]? if Int(_1!) & Int(1 << 5) != 0 { if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Document.self) } } var _4: Api.Photo? if Int(_1!) & Int(1 << 9) != 0 { if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.Photo } } var _5: Int32? if Int(_1!) & Int(1 << 10) != 0 { _5 = reader.readInt32() } var _6: Int32? if Int(_1!) & Int(1 << 2) != 0 { _6 = reader.readInt32() } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = (Int(_1!) & Int(1 << 5) == 0) || _3 != nil let _c4 = (Int(_1!) & Int(1 << 9) == 0) || _4 != nil let _c5 = (Int(_1!) & Int(1 << 10) == 0) || _5 != nil let _c6 = (Int(_1!) & Int(1 << 2) == 0) || _6 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 { return Api.MessageMedia.messageMediaDocument(Cons_messageMediaDocument(flags: _1!, document: _2, altDocuments: _3, videoCover: _4, videoTimestamp: _5, ttlSeconds: _6)) } else { return nil } } public static func parse_messageMediaEmpty(_ reader: BufferReader) -> MessageMedia? { return Api.MessageMedia.messageMediaEmpty } public static func parse_messageMediaGame(_ reader: BufferReader) -> MessageMedia? { var _1: Api.Game? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.Game } let _c1 = _1 != nil if _c1 { return Api.MessageMedia.messageMediaGame(Cons_messageMediaGame(game: _1!)) } else { return nil } } public static func parse_messageMediaGeo(_ reader: BufferReader) -> MessageMedia? { var _1: Api.GeoPoint? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.GeoPoint } let _c1 = _1 != nil if _c1 { return Api.MessageMedia.messageMediaGeo(Cons_messageMediaGeo(geo: _1!)) } else { return nil } } public static func parse_messageMediaGeoLive(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.GeoPoint? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.GeoPoint } var _3: Int32? if Int(_1!) & Int(1 << 0) != 0 { _3 = reader.readInt32() } var _4: Int32? _4 = reader.readInt32() var _5: Int32? if Int(_1!) & Int(1 << 1) != 0 { _5 = reader.readInt32() } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 0) == 0) || _3 != nil let _c4 = _4 != nil let _c5 = (Int(_1!) & Int(1 << 1) == 0) || _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.MessageMedia.messageMediaGeoLive(Cons_messageMediaGeoLive(flags: _1!, geo: _2!, heading: _3, period: _4!, proximityNotificationRadius: _5)) } else { return nil } } public static func parse_messageMediaGiveaway(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: [Int64]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 570911930, elementType: Int64.self) } var _3: [String]? if Int(_1!) & Int(1 << 1) != 0 { if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: -1255641564, elementType: String.self) } } var _4: String? if Int(_1!) & Int(1 << 3) != 0 { _4 = parseString(reader) } var _5: Int32? _5 = reader.readInt32() var _6: Int32? if Int(_1!) & Int(1 << 4) != 0 { _6 = reader.readInt32() } var _7: Int64? if Int(_1!) & Int(1 << 5) != 0 { _7 = reader.readInt64() } var _8: Int32? _8 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil let _c4 = (Int(_1!) & Int(1 << 3) == 0) || _4 != nil let _c5 = _5 != nil let _c6 = (Int(_1!) & Int(1 << 4) == 0) || _6 != nil let _c7 = (Int(_1!) & Int(1 << 5) == 0) || _7 != nil let _c8 = _8 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 { return Api.MessageMedia.messageMediaGiveaway(Cons_messageMediaGiveaway(flags: _1!, channels: _2!, countriesIso2: _3, prizeDescription: _4, quantity: _5!, months: _6, stars: _7, untilDate: _8!)) } else { return nil } } public static func parse_messageMediaGiveawayResults(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Int64? _2 = reader.readInt64() var _3: Int32? if Int(_1!) & Int(1 << 3) != 0 { _3 = reader.readInt32() } var _4: Int32? _4 = reader.readInt32() var _5: Int32? _5 = reader.readInt32() var _6: Int32? _6 = reader.readInt32() var _7: [Int64]? if let _ = reader.readInt32() { _7 = Api.parseVector(reader, elementSignature: 570911930, elementType: Int64.self) } var _8: Int32? if Int(_1!) & Int(1 << 4) != 0 { _8 = reader.readInt32() } var _9: Int64? if Int(_1!) & Int(1 << 5) != 0 { _9 = reader.readInt64() } var _10: String? if Int(_1!) & Int(1 << 1) != 0 { _10 = parseString(reader) } var _11: Int32? _11 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 3) == 0) || _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = (Int(_1!) & Int(1 << 4) == 0) || _8 != nil let _c9 = (Int(_1!) & Int(1 << 5) == 0) || _9 != nil let _c10 = (Int(_1!) & Int(1 << 1) == 0) || _10 != nil let _c11 = _11 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 { return Api.MessageMedia.messageMediaGiveawayResults(Cons_messageMediaGiveawayResults(flags: _1!, channelId: _2!, additionalPeersCount: _3, launchMsgId: _4!, winnersCount: _5!, unclaimedCount: _6!, winners: _7!, months: _8, stars: _9, prizeDescription: _10, untilDate: _11!)) } else { return nil } } public static func parse_messageMediaInvoice(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: String? _2 = parseString(reader) var _3: String? _3 = parseString(reader) var _4: Api.WebDocument? if Int(_1!) & Int(1 << 0) != 0 { if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.WebDocument } } var _5: Int32? if Int(_1!) & Int(1 << 2) != 0 { _5 = reader.readInt32() } var _6: String? _6 = parseString(reader) var _7: Int64? _7 = reader.readInt64() var _8: String? _8 = parseString(reader) var _9: Api.MessageExtendedMedia? if Int(_1!) & Int(1 << 4) != 0 { if let signature = reader.readInt32() { _9 = Api.parse(reader, signature: signature) as? Api.MessageExtendedMedia } } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = (Int(_1!) & Int(1 << 0) == 0) || _4 != nil let _c5 = (Int(_1!) & Int(1 << 2) == 0) || _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = _8 != nil let _c9 = (Int(_1!) & Int(1 << 4) == 0) || _9 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 { return Api.MessageMedia.messageMediaInvoice(Cons_messageMediaInvoice(flags: _1!, title: _2!, description: _3!, photo: _4, receiptMsgId: _5, currency: _6!, totalAmount: _7!, startParam: _8!, extendedMedia: _9)) } else { return nil } } public static func parse_messageMediaPaidMedia(_ reader: BufferReader) -> MessageMedia? { var _1: Int64? _1 = reader.readInt64() var _2: [Api.MessageExtendedMedia]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.MessageExtendedMedia.self) } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageMedia.messageMediaPaidMedia(Cons_messageMediaPaidMedia(starsAmount: _1!, extendedMedia: _2!)) } else { return nil } } public static func parse_messageMediaPhoto(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.Photo? if Int(_1!) & Int(1 << 0) != 0 { if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.Photo } } var _3: Int32? if Int(_1!) & Int(1 << 2) != 0 { _3 = reader.readInt32() } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = (Int(_1!) & Int(1 << 2) == 0) || _3 != nil if _c1 && _c2 && _c3 { return Api.MessageMedia.messageMediaPhoto(Cons_messageMediaPhoto(flags: _1!, photo: _2, ttlSeconds: _3)) } else { return nil } } public static func parse_messageMediaPoll(_ reader: BufferReader) -> MessageMedia? { var _1: Api.Poll? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.Poll } var _2: Api.PollResults? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.PollResults } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageMedia.messageMediaPoll(Cons_messageMediaPoll(poll: _1!, results: _2!)) } else { return nil } } public static func parse_messageMediaStory(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.Peer? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.Peer } var _3: Int32? _3 = reader.readInt32() var _4: Api.StoryItem? if Int(_1!) & Int(1 << 0) != 0 { if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.StoryItem } } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = (Int(_1!) & Int(1 << 0) == 0) || _4 != nil if _c1 && _c2 && _c3 && _c4 { return Api.MessageMedia.messageMediaStory(Cons_messageMediaStory(flags: _1!, peer: _2!, id: _3!, story: _4)) } else { return nil } } public static func parse_messageMediaToDo(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.TodoList? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.TodoList } var _3: [Api.TodoCompletion]? if Int(_1!) & Int(1 << 0) != 0 { if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.TodoCompletion.self) } } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 0) == 0) || _3 != nil if _c1 && _c2 && _c3 { return Api.MessageMedia.messageMediaToDo(Cons_messageMediaToDo(flags: _1!, todo: _2!, completions: _3)) } else { return nil } } public static func parse_messageMediaUnsupported(_ reader: BufferReader) -> MessageMedia? { return Api.MessageMedia.messageMediaUnsupported } public static func parse_messageMediaVenue(_ reader: BufferReader) -> MessageMedia? { var _1: Api.GeoPoint? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.GeoPoint } var _2: String? _2 = parseString(reader) var _3: String? _3 = parseString(reader) var _4: String? _4 = parseString(reader) var _5: String? _5 = parseString(reader) var _6: String? _6 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 { return Api.MessageMedia.messageMediaVenue(Cons_messageMediaVenue(geo: _1!, title: _2!, address: _3!, provider: _4!, venueId: _5!, venueType: _6!)) } else { return nil } } public static func parse_messageMediaVideoStream(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.InputGroupCall? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.InputGroupCall } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageMedia.messageMediaVideoStream(Cons_messageMediaVideoStream(flags: _1!, call: _2!)) } else { return nil } } public static func parse_messageMediaWebPage(_ reader: BufferReader) -> MessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: Api.WebPage? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.WebPage } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.MessageMedia.messageMediaWebPage(Cons_messageMediaWebPage(flags: _1!, webpage: _2!)) } else { return nil } } } }