// Code generated by gotdgen, DO NOT EDIT. package e2e import ( "context" "errors" "fmt" "sort" "strings" "go.uber.org/multierr" "go.mau.fi/mautrix-telegram/pkg/gotd/bin" "go.mau.fi/mautrix-telegram/pkg/gotd/tdjson" "go.mau.fi/mautrix-telegram/pkg/gotd/tdp" "go.mau.fi/mautrix-telegram/pkg/gotd/tgerr" ) // No-op definition for keeping imports. var ( _ = bin.Buffer{} _ = context.Background() _ = fmt.Stringer(nil) _ = strings.Builder{} _ = errors.Is _ = multierr.AppendInto _ = sort.Ints _ = tdp.Format _ = tgerr.Error{} _ = tdjson.Encoder{} ) // DecryptedMessageMediaEmpty represents TL type `decryptedMessageMediaEmpty#89f5c4a`. // // See https://core.telegram.org/constructor/decryptedMessageMediaEmpty for reference. type DecryptedMessageMediaEmpty struct { } // DecryptedMessageMediaEmptyTypeID is TL type id of DecryptedMessageMediaEmpty. const DecryptedMessageMediaEmptyTypeID = 0x89f5c4a // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaEmpty) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaEmpty. var ( _ bin.Encoder = &DecryptedMessageMediaEmpty{} _ bin.Decoder = &DecryptedMessageMediaEmpty{} _ bin.BareEncoder = &DecryptedMessageMediaEmpty{} _ bin.BareDecoder = &DecryptedMessageMediaEmpty{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaEmpty{} ) func (d *DecryptedMessageMediaEmpty) Zero() bool { if d == nil { return true } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaEmpty) String() string { if d == nil { return "DecryptedMessageMediaEmpty(nil)" } type Alias DecryptedMessageMediaEmpty return fmt.Sprintf("DecryptedMessageMediaEmpty%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaEmpty) TypeID() uint32 { return DecryptedMessageMediaEmptyTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaEmpty) TypeName() string { return "decryptedMessageMediaEmpty" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaEmpty) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaEmpty", ID: DecryptedMessageMediaEmptyTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{} return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaEmpty) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaEmpty#89f5c4a as nil") } b.PutID(DecryptedMessageMediaEmptyTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaEmpty) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaEmpty#89f5c4a as nil") } return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaEmpty) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaEmpty#89f5c4a to nil") } if err := b.ConsumeID(DecryptedMessageMediaEmptyTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaEmpty#89f5c4a: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaEmpty) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaEmpty#89f5c4a to nil") } return nil } // DecryptedMessageMediaPhoto8 represents TL type `decryptedMessageMediaPhoto8#32798a8c`. // // See https://core.telegram.org/constructor/decryptedMessageMediaPhoto8 for reference. type DecryptedMessageMediaPhoto8 struct { // Thumb field of DecryptedMessageMediaPhoto8. Thumb []byte // ThumbW field of DecryptedMessageMediaPhoto8. ThumbW int // ThumbH field of DecryptedMessageMediaPhoto8. ThumbH int // W field of DecryptedMessageMediaPhoto8. W int // H field of DecryptedMessageMediaPhoto8. H int // Size field of DecryptedMessageMediaPhoto8. Size int // Key field of DecryptedMessageMediaPhoto8. Key []byte // Iv field of DecryptedMessageMediaPhoto8. Iv []byte } // DecryptedMessageMediaPhoto8TypeID is TL type id of DecryptedMessageMediaPhoto8. const DecryptedMessageMediaPhoto8TypeID = 0x32798a8c // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaPhoto8) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaPhoto8. var ( _ bin.Encoder = &DecryptedMessageMediaPhoto8{} _ bin.Decoder = &DecryptedMessageMediaPhoto8{} _ bin.BareEncoder = &DecryptedMessageMediaPhoto8{} _ bin.BareDecoder = &DecryptedMessageMediaPhoto8{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaPhoto8{} ) func (d *DecryptedMessageMediaPhoto8) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.W == 0) { return false } if !(d.H == 0) { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaPhoto8) String() string { if d == nil { return "DecryptedMessageMediaPhoto8(nil)" } type Alias DecryptedMessageMediaPhoto8 return fmt.Sprintf("DecryptedMessageMediaPhoto8%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaPhoto8) TypeID() uint32 { return DecryptedMessageMediaPhoto8TypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaPhoto8) TypeName() string { return "decryptedMessageMediaPhoto8" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaPhoto8) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaPhoto8", ID: DecryptedMessageMediaPhoto8TypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "W", SchemaName: "w", }, { Name: "H", SchemaName: "h", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaPhoto8) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaPhoto8#32798a8c as nil") } b.PutID(DecryptedMessageMediaPhoto8TypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaPhoto8) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaPhoto8#32798a8c as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutInt(d.W) b.PutInt(d.H) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaPhoto8) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaPhoto8#32798a8c to nil") } if err := b.ConsumeID(DecryptedMessageMediaPhoto8TypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaPhoto8) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaPhoto8#32798a8c to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field w: %w", err) } d.W = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field h: %w", err) } d.H = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto8#32798a8c: field iv: %w", err) } d.Iv = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaPhoto8) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaPhoto8) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaPhoto8) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetW returns value of W field. func (d *DecryptedMessageMediaPhoto8) GetW() (value int) { if d == nil { return } return d.W } // GetH returns value of H field. func (d *DecryptedMessageMediaPhoto8) GetH() (value int) { if d == nil { return } return d.H } // GetSize returns value of Size field. func (d *DecryptedMessageMediaPhoto8) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaPhoto8) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaPhoto8) GetIv() (value []byte) { if d == nil { return } return d.Iv } // DecryptedMessageMediaVideo8 represents TL type `decryptedMessageMediaVideo8#4cee6ef3`. // // See https://core.telegram.org/constructor/decryptedMessageMediaVideo8 for reference. type DecryptedMessageMediaVideo8 struct { // Thumb field of DecryptedMessageMediaVideo8. Thumb []byte // ThumbW field of DecryptedMessageMediaVideo8. ThumbW int // ThumbH field of DecryptedMessageMediaVideo8. ThumbH int // Duration field of DecryptedMessageMediaVideo8. Duration int // W field of DecryptedMessageMediaVideo8. W int // H field of DecryptedMessageMediaVideo8. H int // Size field of DecryptedMessageMediaVideo8. Size int // Key field of DecryptedMessageMediaVideo8. Key []byte // Iv field of DecryptedMessageMediaVideo8. Iv []byte } // DecryptedMessageMediaVideo8TypeID is TL type id of DecryptedMessageMediaVideo8. const DecryptedMessageMediaVideo8TypeID = 0x4cee6ef3 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaVideo8) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaVideo8. var ( _ bin.Encoder = &DecryptedMessageMediaVideo8{} _ bin.Decoder = &DecryptedMessageMediaVideo8{} _ bin.BareEncoder = &DecryptedMessageMediaVideo8{} _ bin.BareDecoder = &DecryptedMessageMediaVideo8{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaVideo8{} ) func (d *DecryptedMessageMediaVideo8) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.Duration == 0) { return false } if !(d.W == 0) { return false } if !(d.H == 0) { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaVideo8) String() string { if d == nil { return "DecryptedMessageMediaVideo8(nil)" } type Alias DecryptedMessageMediaVideo8 return fmt.Sprintf("DecryptedMessageMediaVideo8%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaVideo8) TypeID() uint32 { return DecryptedMessageMediaVideo8TypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaVideo8) TypeName() string { return "decryptedMessageMediaVideo8" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaVideo8) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaVideo8", ID: DecryptedMessageMediaVideo8TypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "Duration", SchemaName: "duration", }, { Name: "W", SchemaName: "w", }, { Name: "H", SchemaName: "h", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaVideo8) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVideo8#4cee6ef3 as nil") } b.PutID(DecryptedMessageMediaVideo8TypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaVideo8) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVideo8#4cee6ef3 as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutInt(d.Duration) b.PutInt(d.W) b.PutInt(d.H) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaVideo8) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVideo8#4cee6ef3 to nil") } if err := b.ConsumeID(DecryptedMessageMediaVideo8TypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaVideo8) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVideo8#4cee6ef3 to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field duration: %w", err) } d.Duration = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field w: %w", err) } d.W = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field h: %w", err) } d.H = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo8#4cee6ef3: field iv: %w", err) } d.Iv = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaVideo8) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaVideo8) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaVideo8) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetDuration returns value of Duration field. func (d *DecryptedMessageMediaVideo8) GetDuration() (value int) { if d == nil { return } return d.Duration } // GetW returns value of W field. func (d *DecryptedMessageMediaVideo8) GetW() (value int) { if d == nil { return } return d.W } // GetH returns value of H field. func (d *DecryptedMessageMediaVideo8) GetH() (value int) { if d == nil { return } return d.H } // GetSize returns value of Size field. func (d *DecryptedMessageMediaVideo8) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaVideo8) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaVideo8) GetIv() (value []byte) { if d == nil { return } return d.Iv } // DecryptedMessageMediaGeoPoint represents TL type `decryptedMessageMediaGeoPoint#35480a59`. // // See https://core.telegram.org/constructor/decryptedMessageMediaGeoPoint for reference. type DecryptedMessageMediaGeoPoint struct { // Lat field of DecryptedMessageMediaGeoPoint. Lat float64 // Long field of DecryptedMessageMediaGeoPoint. Long float64 } // DecryptedMessageMediaGeoPointTypeID is TL type id of DecryptedMessageMediaGeoPoint. const DecryptedMessageMediaGeoPointTypeID = 0x35480a59 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaGeoPoint) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaGeoPoint. var ( _ bin.Encoder = &DecryptedMessageMediaGeoPoint{} _ bin.Decoder = &DecryptedMessageMediaGeoPoint{} _ bin.BareEncoder = &DecryptedMessageMediaGeoPoint{} _ bin.BareDecoder = &DecryptedMessageMediaGeoPoint{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaGeoPoint{} ) func (d *DecryptedMessageMediaGeoPoint) Zero() bool { if d == nil { return true } if !(d.Lat == 0) { return false } if !(d.Long == 0) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaGeoPoint) String() string { if d == nil { return "DecryptedMessageMediaGeoPoint(nil)" } type Alias DecryptedMessageMediaGeoPoint return fmt.Sprintf("DecryptedMessageMediaGeoPoint%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaGeoPoint) TypeID() uint32 { return DecryptedMessageMediaGeoPointTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaGeoPoint) TypeName() string { return "decryptedMessageMediaGeoPoint" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaGeoPoint) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaGeoPoint", ID: DecryptedMessageMediaGeoPointTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Lat", SchemaName: "lat", }, { Name: "Long", SchemaName: "long", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaGeoPoint) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaGeoPoint#35480a59 as nil") } b.PutID(DecryptedMessageMediaGeoPointTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaGeoPoint) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaGeoPoint#35480a59 as nil") } b.PutDouble(d.Lat) b.PutDouble(d.Long) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaGeoPoint) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaGeoPoint#35480a59 to nil") } if err := b.ConsumeID(DecryptedMessageMediaGeoPointTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaGeoPoint#35480a59: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaGeoPoint) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaGeoPoint#35480a59 to nil") } { value, err := b.Double() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaGeoPoint#35480a59: field lat: %w", err) } d.Lat = value } { value, err := b.Double() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaGeoPoint#35480a59: field long: %w", err) } d.Long = value } return nil } // GetLat returns value of Lat field. func (d *DecryptedMessageMediaGeoPoint) GetLat() (value float64) { if d == nil { return } return d.Lat } // GetLong returns value of Long field. func (d *DecryptedMessageMediaGeoPoint) GetLong() (value float64) { if d == nil { return } return d.Long } // DecryptedMessageMediaContact represents TL type `decryptedMessageMediaContact#588a0a97`. // // See https://core.telegram.org/constructor/decryptedMessageMediaContact for reference. type DecryptedMessageMediaContact struct { // PhoneNumber field of DecryptedMessageMediaContact. PhoneNumber string // FirstName field of DecryptedMessageMediaContact. FirstName string // LastName field of DecryptedMessageMediaContact. LastName string // UserID field of DecryptedMessageMediaContact. UserID int } // DecryptedMessageMediaContactTypeID is TL type id of DecryptedMessageMediaContact. const DecryptedMessageMediaContactTypeID = 0x588a0a97 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaContact) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaContact. var ( _ bin.Encoder = &DecryptedMessageMediaContact{} _ bin.Decoder = &DecryptedMessageMediaContact{} _ bin.BareEncoder = &DecryptedMessageMediaContact{} _ bin.BareDecoder = &DecryptedMessageMediaContact{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaContact{} ) func (d *DecryptedMessageMediaContact) Zero() bool { if d == nil { return true } if !(d.PhoneNumber == "") { return false } if !(d.FirstName == "") { return false } if !(d.LastName == "") { return false } if !(d.UserID == 0) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaContact) String() string { if d == nil { return "DecryptedMessageMediaContact(nil)" } type Alias DecryptedMessageMediaContact return fmt.Sprintf("DecryptedMessageMediaContact%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaContact) TypeID() uint32 { return DecryptedMessageMediaContactTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaContact) TypeName() string { return "decryptedMessageMediaContact" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaContact) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaContact", ID: DecryptedMessageMediaContactTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "PhoneNumber", SchemaName: "phone_number", }, { Name: "FirstName", SchemaName: "first_name", }, { Name: "LastName", SchemaName: "last_name", }, { Name: "UserID", SchemaName: "user_id", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaContact) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaContact#588a0a97 as nil") } b.PutID(DecryptedMessageMediaContactTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaContact) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaContact#588a0a97 as nil") } b.PutString(d.PhoneNumber) b.PutString(d.FirstName) b.PutString(d.LastName) b.PutInt(d.UserID) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaContact) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaContact#588a0a97 to nil") } if err := b.ConsumeID(DecryptedMessageMediaContactTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaContact#588a0a97: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaContact) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaContact#588a0a97 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaContact#588a0a97: field phone_number: %w", err) } d.PhoneNumber = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaContact#588a0a97: field first_name: %w", err) } d.FirstName = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaContact#588a0a97: field last_name: %w", err) } d.LastName = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaContact#588a0a97: field user_id: %w", err) } d.UserID = value } return nil } // GetPhoneNumber returns value of PhoneNumber field. func (d *DecryptedMessageMediaContact) GetPhoneNumber() (value string) { if d == nil { return } return d.PhoneNumber } // GetFirstName returns value of FirstName field. func (d *DecryptedMessageMediaContact) GetFirstName() (value string) { if d == nil { return } return d.FirstName } // GetLastName returns value of LastName field. func (d *DecryptedMessageMediaContact) GetLastName() (value string) { if d == nil { return } return d.LastName } // GetUserID returns value of UserID field. func (d *DecryptedMessageMediaContact) GetUserID() (value int) { if d == nil { return } return d.UserID } // DecryptedMessageMediaDocument8 represents TL type `decryptedMessageMediaDocument8#b095434b`. // // See https://core.telegram.org/constructor/decryptedMessageMediaDocument8 for reference. type DecryptedMessageMediaDocument8 struct { // Thumb field of DecryptedMessageMediaDocument8. Thumb []byte // ThumbW field of DecryptedMessageMediaDocument8. ThumbW int // ThumbH field of DecryptedMessageMediaDocument8. ThumbH int // FileName field of DecryptedMessageMediaDocument8. FileName string // MimeType field of DecryptedMessageMediaDocument8. MimeType string // Size field of DecryptedMessageMediaDocument8. Size int // Key field of DecryptedMessageMediaDocument8. Key []byte // Iv field of DecryptedMessageMediaDocument8. Iv []byte } // DecryptedMessageMediaDocument8TypeID is TL type id of DecryptedMessageMediaDocument8. const DecryptedMessageMediaDocument8TypeID = 0xb095434b // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaDocument8) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaDocument8. var ( _ bin.Encoder = &DecryptedMessageMediaDocument8{} _ bin.Decoder = &DecryptedMessageMediaDocument8{} _ bin.BareEncoder = &DecryptedMessageMediaDocument8{} _ bin.BareDecoder = &DecryptedMessageMediaDocument8{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaDocument8{} ) func (d *DecryptedMessageMediaDocument8) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.FileName == "") { return false } if !(d.MimeType == "") { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaDocument8) String() string { if d == nil { return "DecryptedMessageMediaDocument8(nil)" } type Alias DecryptedMessageMediaDocument8 return fmt.Sprintf("DecryptedMessageMediaDocument8%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaDocument8) TypeID() uint32 { return DecryptedMessageMediaDocument8TypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaDocument8) TypeName() string { return "decryptedMessageMediaDocument8" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaDocument8) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaDocument8", ID: DecryptedMessageMediaDocument8TypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "FileName", SchemaName: "file_name", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaDocument8) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaDocument8#b095434b as nil") } b.PutID(DecryptedMessageMediaDocument8TypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaDocument8) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaDocument8#b095434b as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutString(d.FileName) b.PutString(d.MimeType) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaDocument8) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaDocument8#b095434b to nil") } if err := b.ConsumeID(DecryptedMessageMediaDocument8TypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaDocument8) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaDocument8#b095434b to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field file_name: %w", err) } d.FileName = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument8#b095434b: field iv: %w", err) } d.Iv = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaDocument8) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaDocument8) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaDocument8) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetFileName returns value of FileName field. func (d *DecryptedMessageMediaDocument8) GetFileName() (value string) { if d == nil { return } return d.FileName } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaDocument8) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetSize returns value of Size field. func (d *DecryptedMessageMediaDocument8) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaDocument8) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaDocument8) GetIv() (value []byte) { if d == nil { return } return d.Iv } // DecryptedMessageMediaAudio8 represents TL type `decryptedMessageMediaAudio8#6080758f`. // // See https://core.telegram.org/constructor/decryptedMessageMediaAudio8 for reference. type DecryptedMessageMediaAudio8 struct { // Duration field of DecryptedMessageMediaAudio8. Duration int // Size field of DecryptedMessageMediaAudio8. Size int // Key field of DecryptedMessageMediaAudio8. Key []byte // Iv field of DecryptedMessageMediaAudio8. Iv []byte } // DecryptedMessageMediaAudio8TypeID is TL type id of DecryptedMessageMediaAudio8. const DecryptedMessageMediaAudio8TypeID = 0x6080758f // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaAudio8) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaAudio8. var ( _ bin.Encoder = &DecryptedMessageMediaAudio8{} _ bin.Decoder = &DecryptedMessageMediaAudio8{} _ bin.BareEncoder = &DecryptedMessageMediaAudio8{} _ bin.BareDecoder = &DecryptedMessageMediaAudio8{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaAudio8{} ) func (d *DecryptedMessageMediaAudio8) Zero() bool { if d == nil { return true } if !(d.Duration == 0) { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaAudio8) String() string { if d == nil { return "DecryptedMessageMediaAudio8(nil)" } type Alias DecryptedMessageMediaAudio8 return fmt.Sprintf("DecryptedMessageMediaAudio8%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaAudio8) TypeID() uint32 { return DecryptedMessageMediaAudio8TypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaAudio8) TypeName() string { return "decryptedMessageMediaAudio8" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaAudio8) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaAudio8", ID: DecryptedMessageMediaAudio8TypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Duration", SchemaName: "duration", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaAudio8) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaAudio8#6080758f as nil") } b.PutID(DecryptedMessageMediaAudio8TypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaAudio8) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaAudio8#6080758f as nil") } b.PutInt(d.Duration) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaAudio8) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaAudio8#6080758f to nil") } if err := b.ConsumeID(DecryptedMessageMediaAudio8TypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio8#6080758f: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaAudio8) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaAudio8#6080758f to nil") } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio8#6080758f: field duration: %w", err) } d.Duration = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio8#6080758f: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio8#6080758f: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio8#6080758f: field iv: %w", err) } d.Iv = value } return nil } // GetDuration returns value of Duration field. func (d *DecryptedMessageMediaAudio8) GetDuration() (value int) { if d == nil { return } return d.Duration } // GetSize returns value of Size field. func (d *DecryptedMessageMediaAudio8) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaAudio8) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaAudio8) GetIv() (value []byte) { if d == nil { return } return d.Iv } // DecryptedMessageMediaVideo23 represents TL type `decryptedMessageMediaVideo23#524a415d`. // // See https://core.telegram.org/constructor/decryptedMessageMediaVideo23 for reference. type DecryptedMessageMediaVideo23 struct { // Thumb field of DecryptedMessageMediaVideo23. Thumb []byte // ThumbW field of DecryptedMessageMediaVideo23. ThumbW int // ThumbH field of DecryptedMessageMediaVideo23. ThumbH int // Duration field of DecryptedMessageMediaVideo23. Duration int // MimeType field of DecryptedMessageMediaVideo23. MimeType string // W field of DecryptedMessageMediaVideo23. W int // H field of DecryptedMessageMediaVideo23. H int // Size field of DecryptedMessageMediaVideo23. Size int // Key field of DecryptedMessageMediaVideo23. Key []byte // Iv field of DecryptedMessageMediaVideo23. Iv []byte } // DecryptedMessageMediaVideo23TypeID is TL type id of DecryptedMessageMediaVideo23. const DecryptedMessageMediaVideo23TypeID = 0x524a415d // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaVideo23) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaVideo23. var ( _ bin.Encoder = &DecryptedMessageMediaVideo23{} _ bin.Decoder = &DecryptedMessageMediaVideo23{} _ bin.BareEncoder = &DecryptedMessageMediaVideo23{} _ bin.BareDecoder = &DecryptedMessageMediaVideo23{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaVideo23{} ) func (d *DecryptedMessageMediaVideo23) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.Duration == 0) { return false } if !(d.MimeType == "") { return false } if !(d.W == 0) { return false } if !(d.H == 0) { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaVideo23) String() string { if d == nil { return "DecryptedMessageMediaVideo23(nil)" } type Alias DecryptedMessageMediaVideo23 return fmt.Sprintf("DecryptedMessageMediaVideo23%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaVideo23) TypeID() uint32 { return DecryptedMessageMediaVideo23TypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaVideo23) TypeName() string { return "decryptedMessageMediaVideo23" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaVideo23) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaVideo23", ID: DecryptedMessageMediaVideo23TypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "Duration", SchemaName: "duration", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "W", SchemaName: "w", }, { Name: "H", SchemaName: "h", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaVideo23) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVideo23#524a415d as nil") } b.PutID(DecryptedMessageMediaVideo23TypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaVideo23) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVideo23#524a415d as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutInt(d.Duration) b.PutString(d.MimeType) b.PutInt(d.W) b.PutInt(d.H) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaVideo23) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVideo23#524a415d to nil") } if err := b.ConsumeID(DecryptedMessageMediaVideo23TypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaVideo23) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVideo23#524a415d to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field duration: %w", err) } d.Duration = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field w: %w", err) } d.W = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field h: %w", err) } d.H = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo23#524a415d: field iv: %w", err) } d.Iv = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaVideo23) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaVideo23) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaVideo23) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetDuration returns value of Duration field. func (d *DecryptedMessageMediaVideo23) GetDuration() (value int) { if d == nil { return } return d.Duration } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaVideo23) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetW returns value of W field. func (d *DecryptedMessageMediaVideo23) GetW() (value int) { if d == nil { return } return d.W } // GetH returns value of H field. func (d *DecryptedMessageMediaVideo23) GetH() (value int) { if d == nil { return } return d.H } // GetSize returns value of Size field. func (d *DecryptedMessageMediaVideo23) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaVideo23) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaVideo23) GetIv() (value []byte) { if d == nil { return } return d.Iv } // DecryptedMessageMediaAudio represents TL type `decryptedMessageMediaAudio#57e0a9cb`. // // See https://core.telegram.org/constructor/decryptedMessageMediaAudio for reference. type DecryptedMessageMediaAudio struct { // Duration field of DecryptedMessageMediaAudio. Duration int // MimeType field of DecryptedMessageMediaAudio. MimeType string // Size field of DecryptedMessageMediaAudio. Size int // Key field of DecryptedMessageMediaAudio. Key []byte // Iv field of DecryptedMessageMediaAudio. Iv []byte } // DecryptedMessageMediaAudioTypeID is TL type id of DecryptedMessageMediaAudio. const DecryptedMessageMediaAudioTypeID = 0x57e0a9cb // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaAudio) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaAudio. var ( _ bin.Encoder = &DecryptedMessageMediaAudio{} _ bin.Decoder = &DecryptedMessageMediaAudio{} _ bin.BareEncoder = &DecryptedMessageMediaAudio{} _ bin.BareDecoder = &DecryptedMessageMediaAudio{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaAudio{} ) func (d *DecryptedMessageMediaAudio) Zero() bool { if d == nil { return true } if !(d.Duration == 0) { return false } if !(d.MimeType == "") { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaAudio) String() string { if d == nil { return "DecryptedMessageMediaAudio(nil)" } type Alias DecryptedMessageMediaAudio return fmt.Sprintf("DecryptedMessageMediaAudio%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaAudio) TypeID() uint32 { return DecryptedMessageMediaAudioTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaAudio) TypeName() string { return "decryptedMessageMediaAudio" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaAudio) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaAudio", ID: DecryptedMessageMediaAudioTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Duration", SchemaName: "duration", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaAudio) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaAudio#57e0a9cb as nil") } b.PutID(DecryptedMessageMediaAudioTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaAudio) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaAudio#57e0a9cb as nil") } b.PutInt(d.Duration) b.PutString(d.MimeType) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaAudio) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaAudio#57e0a9cb to nil") } if err := b.ConsumeID(DecryptedMessageMediaAudioTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio#57e0a9cb: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaAudio) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaAudio#57e0a9cb to nil") } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio#57e0a9cb: field duration: %w", err) } d.Duration = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio#57e0a9cb: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio#57e0a9cb: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio#57e0a9cb: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaAudio#57e0a9cb: field iv: %w", err) } d.Iv = value } return nil } // GetDuration returns value of Duration field. func (d *DecryptedMessageMediaAudio) GetDuration() (value int) { if d == nil { return } return d.Duration } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaAudio) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetSize returns value of Size field. func (d *DecryptedMessageMediaAudio) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaAudio) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaAudio) GetIv() (value []byte) { if d == nil { return } return d.Iv } // DecryptedMessageMediaExternalDocument represents TL type `decryptedMessageMediaExternalDocument#fa95b0dd`. // // See https://core.telegram.org/constructor/decryptedMessageMediaExternalDocument for reference. type DecryptedMessageMediaExternalDocument struct { // ID field of DecryptedMessageMediaExternalDocument. ID int64 // AccessHash field of DecryptedMessageMediaExternalDocument. AccessHash int64 // Date field of DecryptedMessageMediaExternalDocument. Date int // MimeType field of DecryptedMessageMediaExternalDocument. MimeType string // Size field of DecryptedMessageMediaExternalDocument. Size int // Thumb field of DecryptedMessageMediaExternalDocument. Thumb PhotoSizeClass // DCID field of DecryptedMessageMediaExternalDocument. DCID int // Attributes field of DecryptedMessageMediaExternalDocument. Attributes []DocumentAttributeClass } // DecryptedMessageMediaExternalDocumentTypeID is TL type id of DecryptedMessageMediaExternalDocument. const DecryptedMessageMediaExternalDocumentTypeID = 0xfa95b0dd // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaExternalDocument) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaExternalDocument. var ( _ bin.Encoder = &DecryptedMessageMediaExternalDocument{} _ bin.Decoder = &DecryptedMessageMediaExternalDocument{} _ bin.BareEncoder = &DecryptedMessageMediaExternalDocument{} _ bin.BareDecoder = &DecryptedMessageMediaExternalDocument{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaExternalDocument{} ) func (d *DecryptedMessageMediaExternalDocument) Zero() bool { if d == nil { return true } if !(d.ID == 0) { return false } if !(d.AccessHash == 0) { return false } if !(d.Date == 0) { return false } if !(d.MimeType == "") { return false } if !(d.Size == 0) { return false } if !(d.Thumb == nil) { return false } if !(d.DCID == 0) { return false } if !(d.Attributes == nil) { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaExternalDocument) String() string { if d == nil { return "DecryptedMessageMediaExternalDocument(nil)" } type Alias DecryptedMessageMediaExternalDocument return fmt.Sprintf("DecryptedMessageMediaExternalDocument%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaExternalDocument) TypeID() uint32 { return DecryptedMessageMediaExternalDocumentTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaExternalDocument) TypeName() string { return "decryptedMessageMediaExternalDocument" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaExternalDocument) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaExternalDocument", ID: DecryptedMessageMediaExternalDocumentTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "ID", SchemaName: "id", }, { Name: "AccessHash", SchemaName: "access_hash", }, { Name: "Date", SchemaName: "date", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "Size", SchemaName: "size", }, { Name: "Thumb", SchemaName: "thumb", }, { Name: "DCID", SchemaName: "dc_id", }, { Name: "Attributes", SchemaName: "attributes", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaExternalDocument) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaExternalDocument#fa95b0dd as nil") } b.PutID(DecryptedMessageMediaExternalDocumentTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaExternalDocument) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaExternalDocument#fa95b0dd as nil") } b.PutLong(d.ID) b.PutLong(d.AccessHash) b.PutInt(d.Date) b.PutString(d.MimeType) b.PutInt(d.Size) if d.Thumb == nil { return fmt.Errorf("unable to encode decryptedMessageMediaExternalDocument#fa95b0dd: field thumb is nil") } if err := d.Thumb.Encode(b); err != nil { return fmt.Errorf("unable to encode decryptedMessageMediaExternalDocument#fa95b0dd: field thumb: %w", err) } b.PutInt(d.DCID) b.PutVectorHeader(len(d.Attributes)) for idx, v := range d.Attributes { if v == nil { return fmt.Errorf("unable to encode decryptedMessageMediaExternalDocument#fa95b0dd: field attributes element with index %d is nil", idx) } if err := v.Encode(b); err != nil { return fmt.Errorf("unable to encode decryptedMessageMediaExternalDocument#fa95b0dd: field attributes element with index %d: %w", idx, err) } } return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaExternalDocument) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaExternalDocument#fa95b0dd to nil") } if err := b.ConsumeID(DecryptedMessageMediaExternalDocumentTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaExternalDocument) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaExternalDocument#fa95b0dd to nil") } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field id: %w", err) } d.ID = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field access_hash: %w", err) } d.AccessHash = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field date: %w", err) } d.Date = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field size: %w", err) } d.Size = value } { value, err := DecodePhotoSize(b) if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field dc_id: %w", err) } d.DCID = value } { headerLen, err := b.VectorHeader() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field attributes: %w", err) } if headerLen > 0 { d.Attributes = make([]DocumentAttributeClass, 0, headerLen%bin.PreallocateLimit) } for idx := 0; idx < headerLen; idx++ { value, err := DecodeDocumentAttribute(b) if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaExternalDocument#fa95b0dd: field attributes: %w", err) } d.Attributes = append(d.Attributes, value) } } return nil } // GetID returns value of ID field. func (d *DecryptedMessageMediaExternalDocument) GetID() (value int64) { if d == nil { return } return d.ID } // GetAccessHash returns value of AccessHash field. func (d *DecryptedMessageMediaExternalDocument) GetAccessHash() (value int64) { if d == nil { return } return d.AccessHash } // GetDate returns value of Date field. func (d *DecryptedMessageMediaExternalDocument) GetDate() (value int) { if d == nil { return } return d.Date } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaExternalDocument) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetSize returns value of Size field. func (d *DecryptedMessageMediaExternalDocument) GetSize() (value int) { if d == nil { return } return d.Size } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaExternalDocument) GetThumb() (value PhotoSizeClass) { if d == nil { return } return d.Thumb } // GetDCID returns value of DCID field. func (d *DecryptedMessageMediaExternalDocument) GetDCID() (value int) { if d == nil { return } return d.DCID } // GetAttributes returns value of Attributes field. func (d *DecryptedMessageMediaExternalDocument) GetAttributes() (value []DocumentAttributeClass) { if d == nil { return } return d.Attributes } // DecryptedMessageMediaPhoto represents TL type `decryptedMessageMediaPhoto#f1fa8d78`. // // See https://core.telegram.org/constructor/decryptedMessageMediaPhoto for reference. type DecryptedMessageMediaPhoto struct { // Thumb field of DecryptedMessageMediaPhoto. Thumb []byte // ThumbW field of DecryptedMessageMediaPhoto. ThumbW int // ThumbH field of DecryptedMessageMediaPhoto. ThumbH int // W field of DecryptedMessageMediaPhoto. W int // H field of DecryptedMessageMediaPhoto. H int // Size field of DecryptedMessageMediaPhoto. Size int // Key field of DecryptedMessageMediaPhoto. Key []byte // Iv field of DecryptedMessageMediaPhoto. Iv []byte // Caption field of DecryptedMessageMediaPhoto. Caption string } // DecryptedMessageMediaPhotoTypeID is TL type id of DecryptedMessageMediaPhoto. const DecryptedMessageMediaPhotoTypeID = 0xf1fa8d78 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaPhoto) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaPhoto. var ( _ bin.Encoder = &DecryptedMessageMediaPhoto{} _ bin.Decoder = &DecryptedMessageMediaPhoto{} _ bin.BareEncoder = &DecryptedMessageMediaPhoto{} _ bin.BareDecoder = &DecryptedMessageMediaPhoto{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaPhoto{} ) func (d *DecryptedMessageMediaPhoto) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.W == 0) { return false } if !(d.H == 0) { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } if !(d.Caption == "") { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaPhoto) String() string { if d == nil { return "DecryptedMessageMediaPhoto(nil)" } type Alias DecryptedMessageMediaPhoto return fmt.Sprintf("DecryptedMessageMediaPhoto%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaPhoto) TypeID() uint32 { return DecryptedMessageMediaPhotoTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaPhoto) TypeName() string { return "decryptedMessageMediaPhoto" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaPhoto) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaPhoto", ID: DecryptedMessageMediaPhotoTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "W", SchemaName: "w", }, { Name: "H", SchemaName: "h", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, { Name: "Caption", SchemaName: "caption", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaPhoto) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaPhoto#f1fa8d78 as nil") } b.PutID(DecryptedMessageMediaPhotoTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaPhoto) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaPhoto#f1fa8d78 as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutInt(d.W) b.PutInt(d.H) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) b.PutString(d.Caption) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaPhoto) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaPhoto#f1fa8d78 to nil") } if err := b.ConsumeID(DecryptedMessageMediaPhotoTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaPhoto) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaPhoto#f1fa8d78 to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field w: %w", err) } d.W = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field h: %w", err) } d.H = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field iv: %w", err) } d.Iv = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaPhoto#f1fa8d78: field caption: %w", err) } d.Caption = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaPhoto) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaPhoto) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaPhoto) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetW returns value of W field. func (d *DecryptedMessageMediaPhoto) GetW() (value int) { if d == nil { return } return d.W } // GetH returns value of H field. func (d *DecryptedMessageMediaPhoto) GetH() (value int) { if d == nil { return } return d.H } // GetSize returns value of Size field. func (d *DecryptedMessageMediaPhoto) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaPhoto) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaPhoto) GetIv() (value []byte) { if d == nil { return } return d.Iv } // GetCaption returns value of Caption field. func (d *DecryptedMessageMediaPhoto) GetCaption() (value string) { if d == nil { return } return d.Caption } // DecryptedMessageMediaVideo represents TL type `decryptedMessageMediaVideo#970c8c0e`. // // See https://core.telegram.org/constructor/decryptedMessageMediaVideo for reference. type DecryptedMessageMediaVideo struct { // Thumb field of DecryptedMessageMediaVideo. Thumb []byte // ThumbW field of DecryptedMessageMediaVideo. ThumbW int // ThumbH field of DecryptedMessageMediaVideo. ThumbH int // Duration field of DecryptedMessageMediaVideo. Duration int // MimeType field of DecryptedMessageMediaVideo. MimeType string // W field of DecryptedMessageMediaVideo. W int // H field of DecryptedMessageMediaVideo. H int // Size field of DecryptedMessageMediaVideo. Size int // Key field of DecryptedMessageMediaVideo. Key []byte // Iv field of DecryptedMessageMediaVideo. Iv []byte // Caption field of DecryptedMessageMediaVideo. Caption string } // DecryptedMessageMediaVideoTypeID is TL type id of DecryptedMessageMediaVideo. const DecryptedMessageMediaVideoTypeID = 0x970c8c0e // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaVideo) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaVideo. var ( _ bin.Encoder = &DecryptedMessageMediaVideo{} _ bin.Decoder = &DecryptedMessageMediaVideo{} _ bin.BareEncoder = &DecryptedMessageMediaVideo{} _ bin.BareDecoder = &DecryptedMessageMediaVideo{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaVideo{} ) func (d *DecryptedMessageMediaVideo) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.Duration == 0) { return false } if !(d.MimeType == "") { return false } if !(d.W == 0) { return false } if !(d.H == 0) { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } if !(d.Caption == "") { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaVideo) String() string { if d == nil { return "DecryptedMessageMediaVideo(nil)" } type Alias DecryptedMessageMediaVideo return fmt.Sprintf("DecryptedMessageMediaVideo%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaVideo) TypeID() uint32 { return DecryptedMessageMediaVideoTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaVideo) TypeName() string { return "decryptedMessageMediaVideo" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaVideo) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaVideo", ID: DecryptedMessageMediaVideoTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "Duration", SchemaName: "duration", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "W", SchemaName: "w", }, { Name: "H", SchemaName: "h", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, { Name: "Caption", SchemaName: "caption", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaVideo) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVideo#970c8c0e as nil") } b.PutID(DecryptedMessageMediaVideoTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaVideo) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVideo#970c8c0e as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutInt(d.Duration) b.PutString(d.MimeType) b.PutInt(d.W) b.PutInt(d.H) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) b.PutString(d.Caption) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaVideo) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVideo#970c8c0e to nil") } if err := b.ConsumeID(DecryptedMessageMediaVideoTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaVideo) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVideo#970c8c0e to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field duration: %w", err) } d.Duration = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field w: %w", err) } d.W = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field h: %w", err) } d.H = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field iv: %w", err) } d.Iv = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVideo#970c8c0e: field caption: %w", err) } d.Caption = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaVideo) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaVideo) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaVideo) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetDuration returns value of Duration field. func (d *DecryptedMessageMediaVideo) GetDuration() (value int) { if d == nil { return } return d.Duration } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaVideo) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetW returns value of W field. func (d *DecryptedMessageMediaVideo) GetW() (value int) { if d == nil { return } return d.W } // GetH returns value of H field. func (d *DecryptedMessageMediaVideo) GetH() (value int) { if d == nil { return } return d.H } // GetSize returns value of Size field. func (d *DecryptedMessageMediaVideo) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaVideo) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaVideo) GetIv() (value []byte) { if d == nil { return } return d.Iv } // GetCaption returns value of Caption field. func (d *DecryptedMessageMediaVideo) GetCaption() (value string) { if d == nil { return } return d.Caption } // DecryptedMessageMediaDocument46 represents TL type `decryptedMessageMediaDocument46#7afe8ae2`. // // See https://core.telegram.org/constructor/decryptedMessageMediaDocument46 for reference. type DecryptedMessageMediaDocument46 struct { // Thumb field of DecryptedMessageMediaDocument46. Thumb []byte // ThumbW field of DecryptedMessageMediaDocument46. ThumbW int // ThumbH field of DecryptedMessageMediaDocument46. ThumbH int // MimeType field of DecryptedMessageMediaDocument46. MimeType string // Size field of DecryptedMessageMediaDocument46. Size int // Key field of DecryptedMessageMediaDocument46. Key []byte // Iv field of DecryptedMessageMediaDocument46. Iv []byte // Attributes field of DecryptedMessageMediaDocument46. Attributes []DocumentAttributeClass // Caption field of DecryptedMessageMediaDocument46. Caption string } // DecryptedMessageMediaDocument46TypeID is TL type id of DecryptedMessageMediaDocument46. const DecryptedMessageMediaDocument46TypeID = 0x7afe8ae2 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaDocument46) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaDocument46. var ( _ bin.Encoder = &DecryptedMessageMediaDocument46{} _ bin.Decoder = &DecryptedMessageMediaDocument46{} _ bin.BareEncoder = &DecryptedMessageMediaDocument46{} _ bin.BareDecoder = &DecryptedMessageMediaDocument46{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaDocument46{} ) func (d *DecryptedMessageMediaDocument46) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.MimeType == "") { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } if !(d.Attributes == nil) { return false } if !(d.Caption == "") { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaDocument46) String() string { if d == nil { return "DecryptedMessageMediaDocument46(nil)" } type Alias DecryptedMessageMediaDocument46 return fmt.Sprintf("DecryptedMessageMediaDocument46%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaDocument46) TypeID() uint32 { return DecryptedMessageMediaDocument46TypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaDocument46) TypeName() string { return "decryptedMessageMediaDocument46" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaDocument46) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaDocument46", ID: DecryptedMessageMediaDocument46TypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, { Name: "Attributes", SchemaName: "attributes", }, { Name: "Caption", SchemaName: "caption", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaDocument46) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaDocument46#7afe8ae2 as nil") } b.PutID(DecryptedMessageMediaDocument46TypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaDocument46) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaDocument46#7afe8ae2 as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutString(d.MimeType) b.PutInt(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) b.PutVectorHeader(len(d.Attributes)) for idx, v := range d.Attributes { if v == nil { return fmt.Errorf("unable to encode decryptedMessageMediaDocument46#7afe8ae2: field attributes element with index %d is nil", idx) } if err := v.Encode(b); err != nil { return fmt.Errorf("unable to encode decryptedMessageMediaDocument46#7afe8ae2: field attributes element with index %d: %w", idx, err) } } b.PutString(d.Caption) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaDocument46) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaDocument46#7afe8ae2 to nil") } if err := b.ConsumeID(DecryptedMessageMediaDocument46TypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaDocument46) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaDocument46#7afe8ae2 to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field iv: %w", err) } d.Iv = value } { headerLen, err := b.VectorHeader() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field attributes: %w", err) } if headerLen > 0 { d.Attributes = make([]DocumentAttributeClass, 0, headerLen%bin.PreallocateLimit) } for idx := 0; idx < headerLen; idx++ { value, err := DecodeDocumentAttribute(b) if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field attributes: %w", err) } d.Attributes = append(d.Attributes, value) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument46#7afe8ae2: field caption: %w", err) } d.Caption = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaDocument46) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaDocument46) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaDocument46) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaDocument46) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetSize returns value of Size field. func (d *DecryptedMessageMediaDocument46) GetSize() (value int) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaDocument46) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaDocument46) GetIv() (value []byte) { if d == nil { return } return d.Iv } // GetAttributes returns value of Attributes field. func (d *DecryptedMessageMediaDocument46) GetAttributes() (value []DocumentAttributeClass) { if d == nil { return } return d.Attributes } // GetCaption returns value of Caption field. func (d *DecryptedMessageMediaDocument46) GetCaption() (value string) { if d == nil { return } return d.Caption } // DecryptedMessageMediaVenue represents TL type `decryptedMessageMediaVenue#8a0df56f`. // // See https://core.telegram.org/constructor/decryptedMessageMediaVenue for reference. type DecryptedMessageMediaVenue struct { // Lat field of DecryptedMessageMediaVenue. Lat float64 // Long field of DecryptedMessageMediaVenue. Long float64 // Title field of DecryptedMessageMediaVenue. Title string // Address field of DecryptedMessageMediaVenue. Address string // Provider field of DecryptedMessageMediaVenue. Provider string // VenueID field of DecryptedMessageMediaVenue. VenueID string } // DecryptedMessageMediaVenueTypeID is TL type id of DecryptedMessageMediaVenue. const DecryptedMessageMediaVenueTypeID = 0x8a0df56f // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaVenue) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaVenue. var ( _ bin.Encoder = &DecryptedMessageMediaVenue{} _ bin.Decoder = &DecryptedMessageMediaVenue{} _ bin.BareEncoder = &DecryptedMessageMediaVenue{} _ bin.BareDecoder = &DecryptedMessageMediaVenue{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaVenue{} ) func (d *DecryptedMessageMediaVenue) Zero() bool { if d == nil { return true } if !(d.Lat == 0) { return false } if !(d.Long == 0) { return false } if !(d.Title == "") { return false } if !(d.Address == "") { return false } if !(d.Provider == "") { return false } if !(d.VenueID == "") { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaVenue) String() string { if d == nil { return "DecryptedMessageMediaVenue(nil)" } type Alias DecryptedMessageMediaVenue return fmt.Sprintf("DecryptedMessageMediaVenue%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaVenue) TypeID() uint32 { return DecryptedMessageMediaVenueTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaVenue) TypeName() string { return "decryptedMessageMediaVenue" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaVenue) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaVenue", ID: DecryptedMessageMediaVenueTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Lat", SchemaName: "lat", }, { Name: "Long", SchemaName: "long", }, { Name: "Title", SchemaName: "title", }, { Name: "Address", SchemaName: "address", }, { Name: "Provider", SchemaName: "provider", }, { Name: "VenueID", SchemaName: "venue_id", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaVenue) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVenue#8a0df56f as nil") } b.PutID(DecryptedMessageMediaVenueTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaVenue) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaVenue#8a0df56f as nil") } b.PutDouble(d.Lat) b.PutDouble(d.Long) b.PutString(d.Title) b.PutString(d.Address) b.PutString(d.Provider) b.PutString(d.VenueID) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaVenue) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVenue#8a0df56f to nil") } if err := b.ConsumeID(DecryptedMessageMediaVenueTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaVenue) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaVenue#8a0df56f to nil") } { value, err := b.Double() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: field lat: %w", err) } d.Lat = value } { value, err := b.Double() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: field long: %w", err) } d.Long = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: field title: %w", err) } d.Title = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: field address: %w", err) } d.Address = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: field provider: %w", err) } d.Provider = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaVenue#8a0df56f: field venue_id: %w", err) } d.VenueID = value } return nil } // GetLat returns value of Lat field. func (d *DecryptedMessageMediaVenue) GetLat() (value float64) { if d == nil { return } return d.Lat } // GetLong returns value of Long field. func (d *DecryptedMessageMediaVenue) GetLong() (value float64) { if d == nil { return } return d.Long } // GetTitle returns value of Title field. func (d *DecryptedMessageMediaVenue) GetTitle() (value string) { if d == nil { return } return d.Title } // GetAddress returns value of Address field. func (d *DecryptedMessageMediaVenue) GetAddress() (value string) { if d == nil { return } return d.Address } // GetProvider returns value of Provider field. func (d *DecryptedMessageMediaVenue) GetProvider() (value string) { if d == nil { return } return d.Provider } // GetVenueID returns value of VenueID field. func (d *DecryptedMessageMediaVenue) GetVenueID() (value string) { if d == nil { return } return d.VenueID } // DecryptedMessageMediaWebPage represents TL type `decryptedMessageMediaWebPage#e50511d8`. // // See https://core.telegram.org/constructor/decryptedMessageMediaWebPage for reference. type DecryptedMessageMediaWebPage struct { // URL field of DecryptedMessageMediaWebPage. URL string } // DecryptedMessageMediaWebPageTypeID is TL type id of DecryptedMessageMediaWebPage. const DecryptedMessageMediaWebPageTypeID = 0xe50511d8 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaWebPage) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaWebPage. var ( _ bin.Encoder = &DecryptedMessageMediaWebPage{} _ bin.Decoder = &DecryptedMessageMediaWebPage{} _ bin.BareEncoder = &DecryptedMessageMediaWebPage{} _ bin.BareDecoder = &DecryptedMessageMediaWebPage{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaWebPage{} ) func (d *DecryptedMessageMediaWebPage) Zero() bool { if d == nil { return true } if !(d.URL == "") { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaWebPage) String() string { if d == nil { return "DecryptedMessageMediaWebPage(nil)" } type Alias DecryptedMessageMediaWebPage return fmt.Sprintf("DecryptedMessageMediaWebPage%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaWebPage) TypeID() uint32 { return DecryptedMessageMediaWebPageTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaWebPage) TypeName() string { return "decryptedMessageMediaWebPage" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaWebPage) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaWebPage", ID: DecryptedMessageMediaWebPageTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "URL", SchemaName: "url", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaWebPage) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaWebPage#e50511d8 as nil") } b.PutID(DecryptedMessageMediaWebPageTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaWebPage) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaWebPage#e50511d8 as nil") } b.PutString(d.URL) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaWebPage) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaWebPage#e50511d8 to nil") } if err := b.ConsumeID(DecryptedMessageMediaWebPageTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaWebPage#e50511d8: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaWebPage) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaWebPage#e50511d8 to nil") } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaWebPage#e50511d8: field url: %w", err) } d.URL = value } return nil } // GetURL returns value of URL field. func (d *DecryptedMessageMediaWebPage) GetURL() (value string) { if d == nil { return } return d.URL } // DecryptedMessageMediaDocument represents TL type `decryptedMessageMediaDocument#6abd9782`. // // See https://core.telegram.org/constructor/decryptedMessageMediaDocument for reference. type DecryptedMessageMediaDocument struct { // Thumb field of DecryptedMessageMediaDocument. Thumb []byte // ThumbW field of DecryptedMessageMediaDocument. ThumbW int // ThumbH field of DecryptedMessageMediaDocument. ThumbH int // MimeType field of DecryptedMessageMediaDocument. MimeType string // Size field of DecryptedMessageMediaDocument. Size int64 // Key field of DecryptedMessageMediaDocument. Key []byte // Iv field of DecryptedMessageMediaDocument. Iv []byte // Attributes field of DecryptedMessageMediaDocument. Attributes []DocumentAttributeClass // Caption field of DecryptedMessageMediaDocument. Caption string } // DecryptedMessageMediaDocumentTypeID is TL type id of DecryptedMessageMediaDocument. const DecryptedMessageMediaDocumentTypeID = 0x6abd9782 // construct implements constructor of DecryptedMessageMediaClass. func (d DecryptedMessageMediaDocument) construct() DecryptedMessageMediaClass { return &d } // Ensuring interfaces in compile-time for DecryptedMessageMediaDocument. var ( _ bin.Encoder = &DecryptedMessageMediaDocument{} _ bin.Decoder = &DecryptedMessageMediaDocument{} _ bin.BareEncoder = &DecryptedMessageMediaDocument{} _ bin.BareDecoder = &DecryptedMessageMediaDocument{} _ DecryptedMessageMediaClass = &DecryptedMessageMediaDocument{} ) func (d *DecryptedMessageMediaDocument) Zero() bool { if d == nil { return true } if !(d.Thumb == nil) { return false } if !(d.ThumbW == 0) { return false } if !(d.ThumbH == 0) { return false } if !(d.MimeType == "") { return false } if !(d.Size == 0) { return false } if !(d.Key == nil) { return false } if !(d.Iv == nil) { return false } if !(d.Attributes == nil) { return false } if !(d.Caption == "") { return false } return true } // String implements fmt.Stringer. func (d *DecryptedMessageMediaDocument) String() string { if d == nil { return "DecryptedMessageMediaDocument(nil)" } type Alias DecryptedMessageMediaDocument return fmt.Sprintf("DecryptedMessageMediaDocument%+v", Alias(*d)) } // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. func (*DecryptedMessageMediaDocument) TypeID() uint32 { return DecryptedMessageMediaDocumentTypeID } // TypeName returns name of type in TL schema. func (*DecryptedMessageMediaDocument) TypeName() string { return "decryptedMessageMediaDocument" } // TypeInfo returns info about TL type. func (d *DecryptedMessageMediaDocument) TypeInfo() tdp.Type { typ := tdp.Type{ Name: "decryptedMessageMediaDocument", ID: DecryptedMessageMediaDocumentTypeID, } if d == nil { typ.Null = true return typ } typ.Fields = []tdp.Field{ { Name: "Thumb", SchemaName: "thumb", }, { Name: "ThumbW", SchemaName: "thumb_w", }, { Name: "ThumbH", SchemaName: "thumb_h", }, { Name: "MimeType", SchemaName: "mime_type", }, { Name: "Size", SchemaName: "size", }, { Name: "Key", SchemaName: "key", }, { Name: "Iv", SchemaName: "iv", }, { Name: "Attributes", SchemaName: "attributes", }, { Name: "Caption", SchemaName: "caption", }, } return typ } // Encode implements bin.Encoder. func (d *DecryptedMessageMediaDocument) Encode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaDocument#6abd9782 as nil") } b.PutID(DecryptedMessageMediaDocumentTypeID) return d.EncodeBare(b) } // EncodeBare implements bin.BareEncoder. func (d *DecryptedMessageMediaDocument) EncodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't encode decryptedMessageMediaDocument#6abd9782 as nil") } b.PutBytes(d.Thumb) b.PutInt(d.ThumbW) b.PutInt(d.ThumbH) b.PutString(d.MimeType) b.PutLong(d.Size) b.PutBytes(d.Key) b.PutBytes(d.Iv) b.PutVectorHeader(len(d.Attributes)) for idx, v := range d.Attributes { if v == nil { return fmt.Errorf("unable to encode decryptedMessageMediaDocument#6abd9782: field attributes element with index %d is nil", idx) } if err := v.Encode(b); err != nil { return fmt.Errorf("unable to encode decryptedMessageMediaDocument#6abd9782: field attributes element with index %d: %w", idx, err) } } b.PutString(d.Caption) return nil } // Decode implements bin.Decoder. func (d *DecryptedMessageMediaDocument) Decode(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaDocument#6abd9782 to nil") } if err := b.ConsumeID(DecryptedMessageMediaDocumentTypeID); err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: %w", err) } return d.DecodeBare(b) } // DecodeBare implements bin.BareDecoder. func (d *DecryptedMessageMediaDocument) DecodeBare(b *bin.Buffer) error { if d == nil { return fmt.Errorf("can't decode decryptedMessageMediaDocument#6abd9782 to nil") } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field thumb: %w", err) } d.Thumb = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field thumb_w: %w", err) } d.ThumbW = value } { value, err := b.Int() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field thumb_h: %w", err) } d.ThumbH = value } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field mime_type: %w", err) } d.MimeType = value } { value, err := b.Long() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field size: %w", err) } d.Size = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field key: %w", err) } d.Key = value } { value, err := b.Bytes() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field iv: %w", err) } d.Iv = value } { headerLen, err := b.VectorHeader() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field attributes: %w", err) } if headerLen > 0 { d.Attributes = make([]DocumentAttributeClass, 0, headerLen%bin.PreallocateLimit) } for idx := 0; idx < headerLen; idx++ { value, err := DecodeDocumentAttribute(b) if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field attributes: %w", err) } d.Attributes = append(d.Attributes, value) } } { value, err := b.String() if err != nil { return fmt.Errorf("unable to decode decryptedMessageMediaDocument#6abd9782: field caption: %w", err) } d.Caption = value } return nil } // GetThumb returns value of Thumb field. func (d *DecryptedMessageMediaDocument) GetThumb() (value []byte) { if d == nil { return } return d.Thumb } // GetThumbW returns value of ThumbW field. func (d *DecryptedMessageMediaDocument) GetThumbW() (value int) { if d == nil { return } return d.ThumbW } // GetThumbH returns value of ThumbH field. func (d *DecryptedMessageMediaDocument) GetThumbH() (value int) { if d == nil { return } return d.ThumbH } // GetMimeType returns value of MimeType field. func (d *DecryptedMessageMediaDocument) GetMimeType() (value string) { if d == nil { return } return d.MimeType } // GetSize returns value of Size field. func (d *DecryptedMessageMediaDocument) GetSize() (value int64) { if d == nil { return } return d.Size } // GetKey returns value of Key field. func (d *DecryptedMessageMediaDocument) GetKey() (value []byte) { if d == nil { return } return d.Key } // GetIv returns value of Iv field. func (d *DecryptedMessageMediaDocument) GetIv() (value []byte) { if d == nil { return } return d.Iv } // GetAttributes returns value of Attributes field. func (d *DecryptedMessageMediaDocument) GetAttributes() (value []DocumentAttributeClass) { if d == nil { return } return d.Attributes } // GetCaption returns value of Caption field. func (d *DecryptedMessageMediaDocument) GetCaption() (value string) { if d == nil { return } return d.Caption } // DecryptedMessageMediaClassName is schema name of DecryptedMessageMediaClass. const DecryptedMessageMediaClassName = "DecryptedMessageMedia" // DecryptedMessageMediaClass represents DecryptedMessageMedia generic type. // // See https://core.telegram.org/type/DecryptedMessageMedia for reference. // // Example: // // g, err := e2e.DecodeDecryptedMessageMedia(buf) // if err != nil { // panic(err) // } // switch v := g.(type) { // case *e2e.DecryptedMessageMediaEmpty: // decryptedMessageMediaEmpty#89f5c4a // case *e2e.DecryptedMessageMediaPhoto8: // decryptedMessageMediaPhoto8#32798a8c // case *e2e.DecryptedMessageMediaVideo8: // decryptedMessageMediaVideo8#4cee6ef3 // case *e2e.DecryptedMessageMediaGeoPoint: // decryptedMessageMediaGeoPoint#35480a59 // case *e2e.DecryptedMessageMediaContact: // decryptedMessageMediaContact#588a0a97 // case *e2e.DecryptedMessageMediaDocument8: // decryptedMessageMediaDocument8#b095434b // case *e2e.DecryptedMessageMediaAudio8: // decryptedMessageMediaAudio8#6080758f // case *e2e.DecryptedMessageMediaVideo23: // decryptedMessageMediaVideo23#524a415d // case *e2e.DecryptedMessageMediaAudio: // decryptedMessageMediaAudio#57e0a9cb // case *e2e.DecryptedMessageMediaExternalDocument: // decryptedMessageMediaExternalDocument#fa95b0dd // case *e2e.DecryptedMessageMediaPhoto: // decryptedMessageMediaPhoto#f1fa8d78 // case *e2e.DecryptedMessageMediaVideo: // decryptedMessageMediaVideo#970c8c0e // case *e2e.DecryptedMessageMediaDocument46: // decryptedMessageMediaDocument46#7afe8ae2 // case *e2e.DecryptedMessageMediaVenue: // decryptedMessageMediaVenue#8a0df56f // case *e2e.DecryptedMessageMediaWebPage: // decryptedMessageMediaWebPage#e50511d8 // case *e2e.DecryptedMessageMediaDocument: // decryptedMessageMediaDocument#6abd9782 // default: panic(v) // } type DecryptedMessageMediaClass interface { bin.Encoder bin.Decoder bin.BareEncoder bin.BareDecoder construct() DecryptedMessageMediaClass // TypeID returns type id in TL schema. // // See https://core.telegram.org/mtproto/TL-tl#remarks. TypeID() uint32 // TypeName returns name of type in TL schema. TypeName() string // String implements fmt.Stringer. String() string // Zero returns true if current object has a zero value. Zero() bool } // DecodeDecryptedMessageMedia implements binary de-serialization for DecryptedMessageMediaClass. func DecodeDecryptedMessageMedia(buf *bin.Buffer) (DecryptedMessageMediaClass, error) { id, err := buf.PeekID() if err != nil { return nil, err } switch id { case DecryptedMessageMediaEmptyTypeID: // Decoding decryptedMessageMediaEmpty#89f5c4a. v := DecryptedMessageMediaEmpty{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaPhoto8TypeID: // Decoding decryptedMessageMediaPhoto8#32798a8c. v := DecryptedMessageMediaPhoto8{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaVideo8TypeID: // Decoding decryptedMessageMediaVideo8#4cee6ef3. v := DecryptedMessageMediaVideo8{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaGeoPointTypeID: // Decoding decryptedMessageMediaGeoPoint#35480a59. v := DecryptedMessageMediaGeoPoint{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaContactTypeID: // Decoding decryptedMessageMediaContact#588a0a97. v := DecryptedMessageMediaContact{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaDocument8TypeID: // Decoding decryptedMessageMediaDocument8#b095434b. v := DecryptedMessageMediaDocument8{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaAudio8TypeID: // Decoding decryptedMessageMediaAudio8#6080758f. v := DecryptedMessageMediaAudio8{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaVideo23TypeID: // Decoding decryptedMessageMediaVideo23#524a415d. v := DecryptedMessageMediaVideo23{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaAudioTypeID: // Decoding decryptedMessageMediaAudio#57e0a9cb. v := DecryptedMessageMediaAudio{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaExternalDocumentTypeID: // Decoding decryptedMessageMediaExternalDocument#fa95b0dd. v := DecryptedMessageMediaExternalDocument{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaPhotoTypeID: // Decoding decryptedMessageMediaPhoto#f1fa8d78. v := DecryptedMessageMediaPhoto{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaVideoTypeID: // Decoding decryptedMessageMediaVideo#970c8c0e. v := DecryptedMessageMediaVideo{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaDocument46TypeID: // Decoding decryptedMessageMediaDocument46#7afe8ae2. v := DecryptedMessageMediaDocument46{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaVenueTypeID: // Decoding decryptedMessageMediaVenue#8a0df56f. v := DecryptedMessageMediaVenue{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaWebPageTypeID: // Decoding decryptedMessageMediaWebPage#e50511d8. v := DecryptedMessageMediaWebPage{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil case DecryptedMessageMediaDocumentTypeID: // Decoding decryptedMessageMediaDocument#6abd9782. v := DecryptedMessageMediaDocument{} if err := v.Decode(buf); err != nil { return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", err) } return &v, nil default: return nil, fmt.Errorf("unable to decode DecryptedMessageMediaClass: %w", bin.NewUnexpectedID(id)) } } // DecryptedMessageMedia boxes the DecryptedMessageMediaClass providing a helper. type DecryptedMessageMediaBox struct { DecryptedMessageMedia DecryptedMessageMediaClass } // Decode implements bin.Decoder for DecryptedMessageMediaBox. func (b *DecryptedMessageMediaBox) Decode(buf *bin.Buffer) error { if b == nil { return fmt.Errorf("unable to decode DecryptedMessageMediaBox to nil") } v, err := DecodeDecryptedMessageMedia(buf) if err != nil { return fmt.Errorf("unable to decode boxed value: %w", err) } b.DecryptedMessageMedia = v return nil } // Encode implements bin.Encode for DecryptedMessageMediaBox. func (b *DecryptedMessageMediaBox) Encode(buf *bin.Buffer) error { if b == nil || b.DecryptedMessageMedia == nil { return fmt.Errorf("unable to encode DecryptedMessageMediaClass as nil") } return b.DecryptedMessageMedia.Encode(buf) }