using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using TeleSharp.TL; namespace TeleSharp.TL { [TLObject(-797904407)] public class TLInputMediaUploadedDocument : TLAbsInputMedia { public override int Constructor { get { return -797904407; } } public int flags {get;set;} public TLAbsInputFile file {get;set;} public string mime_type {get;set;} public TLVector attributes {get;set;} private string caption; public string Caption { get { return caption; } set { if (value.Length > 200) { throw new System.ArgumentException("too long caption plase make it less than 200 char"); } else { caption = value; } } } public TLVector stickers {get;set;} public void ComputeFlags() { flags = 0; flags = stickers != null ? (flags | 1) : (flags & ~1); } public override void DeserializeBody(BinaryReader br) { flags = br.ReadInt32(); file = (TLAbsInputFile)ObjectUtils.DeserializeObject(br); mime_type = StringUtil.Deserialize(br); attributes = (TLVector)ObjectUtils.DeserializeVector(br); Caption = StringUtil.Deserialize(br); if ((flags & 1) != 0) stickers = (TLVector)ObjectUtils.DeserializeVector(br); else stickers = null; } public override void SerializeBody(BinaryWriter bw) { bw.Write(Constructor); ComputeFlags(); bw.Write(flags); ObjectUtils.SerializeObject(file,bw); StringUtil.Serialize(mime_type,bw); ObjectUtils.SerializeObject(attributes,bw); StringUtil.Serialize(Caption,bw); if ((flags & 1) != 0) ObjectUtils.SerializeObject(stickers,bw); } } }