Files
mautrix-telegram/pkg/gotd/tg/e2e/tl_decrypted_message_gen.go
T
2025-06-27 20:03:37 -07:00

1766 lines
43 KiB
Go
Generated

// 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{}
)
// DecryptedMessage8 represents TL type `decryptedMessage8#1f814f1f`.
//
// See https://core.telegram.org/constructor/decryptedMessage8 for reference.
type DecryptedMessage8 struct {
// RandomID field of DecryptedMessage8.
RandomID int64
// RandomBytes field of DecryptedMessage8.
RandomBytes []byte
// Message field of DecryptedMessage8.
Message string
// Media field of DecryptedMessage8.
Media DecryptedMessageMediaClass
}
// DecryptedMessage8TypeID is TL type id of DecryptedMessage8.
const DecryptedMessage8TypeID = 0x1f814f1f
// construct implements constructor of DecryptedMessageClass.
func (d DecryptedMessage8) construct() DecryptedMessageClass { return &d }
// Ensuring interfaces in compile-time for DecryptedMessage8.
var (
_ bin.Encoder = &DecryptedMessage8{}
_ bin.Decoder = &DecryptedMessage8{}
_ bin.BareEncoder = &DecryptedMessage8{}
_ bin.BareDecoder = &DecryptedMessage8{}
_ DecryptedMessageClass = &DecryptedMessage8{}
)
func (d *DecryptedMessage8) Zero() bool {
if d == nil {
return true
}
if !(d.RandomID == 0) {
return false
}
if !(d.RandomBytes == nil) {
return false
}
if !(d.Message == "") {
return false
}
if !(d.Media == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DecryptedMessage8) String() string {
if d == nil {
return "DecryptedMessage8(nil)"
}
type Alias DecryptedMessage8
return fmt.Sprintf("DecryptedMessage8%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DecryptedMessage8) TypeID() uint32 {
return DecryptedMessage8TypeID
}
// TypeName returns name of type in TL schema.
func (*DecryptedMessage8) TypeName() string {
return "decryptedMessage8"
}
// TypeInfo returns info about TL type.
func (d *DecryptedMessage8) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "decryptedMessage8",
ID: DecryptedMessage8TypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RandomID",
SchemaName: "random_id",
},
{
Name: "RandomBytes",
SchemaName: "random_bytes",
},
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Media",
SchemaName: "media",
},
}
return typ
}
// Encode implements bin.Encoder.
func (d *DecryptedMessage8) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage8#1f814f1f as nil")
}
b.PutID(DecryptedMessage8TypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DecryptedMessage8) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage8#1f814f1f as nil")
}
b.PutLong(d.RandomID)
b.PutBytes(d.RandomBytes)
b.PutString(d.Message)
if d.Media == nil {
return fmt.Errorf("unable to encode decryptedMessage8#1f814f1f: field media is nil")
}
if err := d.Media.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage8#1f814f1f: field media: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (d *DecryptedMessage8) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage8#1f814f1f to nil")
}
if err := b.ConsumeID(DecryptedMessage8TypeID); err != nil {
return fmt.Errorf("unable to decode decryptedMessage8#1f814f1f: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DecryptedMessage8) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage8#1f814f1f to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage8#1f814f1f: field random_id: %w", err)
}
d.RandomID = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage8#1f814f1f: field random_bytes: %w", err)
}
d.RandomBytes = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage8#1f814f1f: field message: %w", err)
}
d.Message = value
}
{
value, err := DecodeDecryptedMessageMedia(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage8#1f814f1f: field media: %w", err)
}
d.Media = value
}
return nil
}
// GetRandomID returns value of RandomID field.
func (d *DecryptedMessage8) GetRandomID() (value int64) {
if d == nil {
return
}
return d.RandomID
}
// GetRandomBytes returns value of RandomBytes field.
func (d *DecryptedMessage8) GetRandomBytes() (value []byte) {
if d == nil {
return
}
return d.RandomBytes
}
// GetMessage returns value of Message field.
func (d *DecryptedMessage8) GetMessage() (value string) {
if d == nil {
return
}
return d.Message
}
// GetMedia returns value of Media field.
func (d *DecryptedMessage8) GetMedia() (value DecryptedMessageMediaClass) {
if d == nil {
return
}
return d.Media
}
// DecryptedMessageService8 represents TL type `decryptedMessageService8#aa48327d`.
//
// See https://core.telegram.org/constructor/decryptedMessageService8 for reference.
type DecryptedMessageService8 struct {
// RandomID field of DecryptedMessageService8.
RandomID int64
// RandomBytes field of DecryptedMessageService8.
RandomBytes []byte
// Action field of DecryptedMessageService8.
Action DecryptedMessageActionClass
}
// DecryptedMessageService8TypeID is TL type id of DecryptedMessageService8.
const DecryptedMessageService8TypeID = 0xaa48327d
// construct implements constructor of DecryptedMessageClass.
func (d DecryptedMessageService8) construct() DecryptedMessageClass { return &d }
// Ensuring interfaces in compile-time for DecryptedMessageService8.
var (
_ bin.Encoder = &DecryptedMessageService8{}
_ bin.Decoder = &DecryptedMessageService8{}
_ bin.BareEncoder = &DecryptedMessageService8{}
_ bin.BareDecoder = &DecryptedMessageService8{}
_ DecryptedMessageClass = &DecryptedMessageService8{}
)
func (d *DecryptedMessageService8) Zero() bool {
if d == nil {
return true
}
if !(d.RandomID == 0) {
return false
}
if !(d.RandomBytes == nil) {
return false
}
if !(d.Action == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DecryptedMessageService8) String() string {
if d == nil {
return "DecryptedMessageService8(nil)"
}
type Alias DecryptedMessageService8
return fmt.Sprintf("DecryptedMessageService8%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DecryptedMessageService8) TypeID() uint32 {
return DecryptedMessageService8TypeID
}
// TypeName returns name of type in TL schema.
func (*DecryptedMessageService8) TypeName() string {
return "decryptedMessageService8"
}
// TypeInfo returns info about TL type.
func (d *DecryptedMessageService8) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "decryptedMessageService8",
ID: DecryptedMessageService8TypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RandomID",
SchemaName: "random_id",
},
{
Name: "RandomBytes",
SchemaName: "random_bytes",
},
{
Name: "Action",
SchemaName: "action",
},
}
return typ
}
// Encode implements bin.Encoder.
func (d *DecryptedMessageService8) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessageService8#aa48327d as nil")
}
b.PutID(DecryptedMessageService8TypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DecryptedMessageService8) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessageService8#aa48327d as nil")
}
b.PutLong(d.RandomID)
b.PutBytes(d.RandomBytes)
if d.Action == nil {
return fmt.Errorf("unable to encode decryptedMessageService8#aa48327d: field action is nil")
}
if err := d.Action.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessageService8#aa48327d: field action: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (d *DecryptedMessageService8) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessageService8#aa48327d to nil")
}
if err := b.ConsumeID(DecryptedMessageService8TypeID); err != nil {
return fmt.Errorf("unable to decode decryptedMessageService8#aa48327d: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DecryptedMessageService8) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessageService8#aa48327d to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessageService8#aa48327d: field random_id: %w", err)
}
d.RandomID = value
}
{
value, err := b.Bytes()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessageService8#aa48327d: field random_bytes: %w", err)
}
d.RandomBytes = value
}
{
value, err := DecodeDecryptedMessageAction(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessageService8#aa48327d: field action: %w", err)
}
d.Action = value
}
return nil
}
// GetRandomID returns value of RandomID field.
func (d *DecryptedMessageService8) GetRandomID() (value int64) {
if d == nil {
return
}
return d.RandomID
}
// GetRandomBytes returns value of RandomBytes field.
func (d *DecryptedMessageService8) GetRandomBytes() (value []byte) {
if d == nil {
return
}
return d.RandomBytes
}
// GetAction returns value of Action field.
func (d *DecryptedMessageService8) GetAction() (value DecryptedMessageActionClass) {
if d == nil {
return
}
return d.Action
}
// DecryptedMessage23 represents TL type `decryptedMessage23#204d3878`.
//
// See https://core.telegram.org/constructor/decryptedMessage23 for reference.
type DecryptedMessage23 struct {
// RandomID field of DecryptedMessage23.
RandomID int64
// TTL field of DecryptedMessage23.
TTL int
// Message field of DecryptedMessage23.
Message string
// Media field of DecryptedMessage23.
Media DecryptedMessageMediaClass
}
// DecryptedMessage23TypeID is TL type id of DecryptedMessage23.
const DecryptedMessage23TypeID = 0x204d3878
// construct implements constructor of DecryptedMessageClass.
func (d DecryptedMessage23) construct() DecryptedMessageClass { return &d }
// Ensuring interfaces in compile-time for DecryptedMessage23.
var (
_ bin.Encoder = &DecryptedMessage23{}
_ bin.Decoder = &DecryptedMessage23{}
_ bin.BareEncoder = &DecryptedMessage23{}
_ bin.BareDecoder = &DecryptedMessage23{}
_ DecryptedMessageClass = &DecryptedMessage23{}
)
func (d *DecryptedMessage23) Zero() bool {
if d == nil {
return true
}
if !(d.RandomID == 0) {
return false
}
if !(d.TTL == 0) {
return false
}
if !(d.Message == "") {
return false
}
if !(d.Media == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DecryptedMessage23) String() string {
if d == nil {
return "DecryptedMessage23(nil)"
}
type Alias DecryptedMessage23
return fmt.Sprintf("DecryptedMessage23%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DecryptedMessage23) TypeID() uint32 {
return DecryptedMessage23TypeID
}
// TypeName returns name of type in TL schema.
func (*DecryptedMessage23) TypeName() string {
return "decryptedMessage23"
}
// TypeInfo returns info about TL type.
func (d *DecryptedMessage23) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "decryptedMessage23",
ID: DecryptedMessage23TypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RandomID",
SchemaName: "random_id",
},
{
Name: "TTL",
SchemaName: "ttl",
},
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Media",
SchemaName: "media",
},
}
return typ
}
// Encode implements bin.Encoder.
func (d *DecryptedMessage23) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage23#204d3878 as nil")
}
b.PutID(DecryptedMessage23TypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DecryptedMessage23) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage23#204d3878 as nil")
}
b.PutLong(d.RandomID)
b.PutInt(d.TTL)
b.PutString(d.Message)
if d.Media == nil {
return fmt.Errorf("unable to encode decryptedMessage23#204d3878: field media is nil")
}
if err := d.Media.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage23#204d3878: field media: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (d *DecryptedMessage23) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage23#204d3878 to nil")
}
if err := b.ConsumeID(DecryptedMessage23TypeID); err != nil {
return fmt.Errorf("unable to decode decryptedMessage23#204d3878: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DecryptedMessage23) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage23#204d3878 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage23#204d3878: field random_id: %w", err)
}
d.RandomID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage23#204d3878: field ttl: %w", err)
}
d.TTL = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage23#204d3878: field message: %w", err)
}
d.Message = value
}
{
value, err := DecodeDecryptedMessageMedia(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage23#204d3878: field media: %w", err)
}
d.Media = value
}
return nil
}
// GetRandomID returns value of RandomID field.
func (d *DecryptedMessage23) GetRandomID() (value int64) {
if d == nil {
return
}
return d.RandomID
}
// GetTTL returns value of TTL field.
func (d *DecryptedMessage23) GetTTL() (value int) {
if d == nil {
return
}
return d.TTL
}
// GetMessage returns value of Message field.
func (d *DecryptedMessage23) GetMessage() (value string) {
if d == nil {
return
}
return d.Message
}
// GetMedia returns value of Media field.
func (d *DecryptedMessage23) GetMedia() (value DecryptedMessageMediaClass) {
if d == nil {
return
}
return d.Media
}
// DecryptedMessageService represents TL type `decryptedMessageService#73164160`.
//
// See https://core.telegram.org/constructor/decryptedMessageService for reference.
type DecryptedMessageService struct {
// RandomID field of DecryptedMessageService.
RandomID int64
// Action field of DecryptedMessageService.
Action DecryptedMessageActionClass
}
// DecryptedMessageServiceTypeID is TL type id of DecryptedMessageService.
const DecryptedMessageServiceTypeID = 0x73164160
// construct implements constructor of DecryptedMessageClass.
func (d DecryptedMessageService) construct() DecryptedMessageClass { return &d }
// Ensuring interfaces in compile-time for DecryptedMessageService.
var (
_ bin.Encoder = &DecryptedMessageService{}
_ bin.Decoder = &DecryptedMessageService{}
_ bin.BareEncoder = &DecryptedMessageService{}
_ bin.BareDecoder = &DecryptedMessageService{}
_ DecryptedMessageClass = &DecryptedMessageService{}
)
func (d *DecryptedMessageService) Zero() bool {
if d == nil {
return true
}
if !(d.RandomID == 0) {
return false
}
if !(d.Action == nil) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DecryptedMessageService) String() string {
if d == nil {
return "DecryptedMessageService(nil)"
}
type Alias DecryptedMessageService
return fmt.Sprintf("DecryptedMessageService%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DecryptedMessageService) TypeID() uint32 {
return DecryptedMessageServiceTypeID
}
// TypeName returns name of type in TL schema.
func (*DecryptedMessageService) TypeName() string {
return "decryptedMessageService"
}
// TypeInfo returns info about TL type.
func (d *DecryptedMessageService) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "decryptedMessageService",
ID: DecryptedMessageServiceTypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RandomID",
SchemaName: "random_id",
},
{
Name: "Action",
SchemaName: "action",
},
}
return typ
}
// Encode implements bin.Encoder.
func (d *DecryptedMessageService) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessageService#73164160 as nil")
}
b.PutID(DecryptedMessageServiceTypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DecryptedMessageService) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessageService#73164160 as nil")
}
b.PutLong(d.RandomID)
if d.Action == nil {
return fmt.Errorf("unable to encode decryptedMessageService#73164160: field action is nil")
}
if err := d.Action.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessageService#73164160: field action: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (d *DecryptedMessageService) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessageService#73164160 to nil")
}
if err := b.ConsumeID(DecryptedMessageServiceTypeID); err != nil {
return fmt.Errorf("unable to decode decryptedMessageService#73164160: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DecryptedMessageService) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessageService#73164160 to nil")
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessageService#73164160: field random_id: %w", err)
}
d.RandomID = value
}
{
value, err := DecodeDecryptedMessageAction(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessageService#73164160: field action: %w", err)
}
d.Action = value
}
return nil
}
// GetRandomID returns value of RandomID field.
func (d *DecryptedMessageService) GetRandomID() (value int64) {
if d == nil {
return
}
return d.RandomID
}
// GetAction returns value of Action field.
func (d *DecryptedMessageService) GetAction() (value DecryptedMessageActionClass) {
if d == nil {
return
}
return d.Action
}
// DecryptedMessage46 represents TL type `decryptedMessage46#36b091de`.
//
// See https://core.telegram.org/constructor/decryptedMessage46 for reference.
type DecryptedMessage46 struct {
// Flags field of DecryptedMessage46.
Flags bin.Fields
// RandomID field of DecryptedMessage46.
RandomID int64
// TTL field of DecryptedMessage46.
TTL int
// Message field of DecryptedMessage46.
Message string
// Media field of DecryptedMessage46.
//
// Use SetMedia and GetMedia helpers.
Media DecryptedMessageMediaClass
// Entities field of DecryptedMessage46.
//
// Use SetEntities and GetEntities helpers.
Entities []MessageEntityClass
// ViaBotName field of DecryptedMessage46.
//
// Use SetViaBotName and GetViaBotName helpers.
ViaBotName string
// ReplyToRandomID field of DecryptedMessage46.
//
// Use SetReplyToRandomID and GetReplyToRandomID helpers.
ReplyToRandomID int64
}
// DecryptedMessage46TypeID is TL type id of DecryptedMessage46.
const DecryptedMessage46TypeID = 0x36b091de
// construct implements constructor of DecryptedMessageClass.
func (d DecryptedMessage46) construct() DecryptedMessageClass { return &d }
// Ensuring interfaces in compile-time for DecryptedMessage46.
var (
_ bin.Encoder = &DecryptedMessage46{}
_ bin.Decoder = &DecryptedMessage46{}
_ bin.BareEncoder = &DecryptedMessage46{}
_ bin.BareDecoder = &DecryptedMessage46{}
_ DecryptedMessageClass = &DecryptedMessage46{}
)
func (d *DecryptedMessage46) Zero() bool {
if d == nil {
return true
}
if !(d.Flags.Zero()) {
return false
}
if !(d.RandomID == 0) {
return false
}
if !(d.TTL == 0) {
return false
}
if !(d.Message == "") {
return false
}
if !(d.Media == nil) {
return false
}
if !(d.Entities == nil) {
return false
}
if !(d.ViaBotName == "") {
return false
}
if !(d.ReplyToRandomID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DecryptedMessage46) String() string {
if d == nil {
return "DecryptedMessage46(nil)"
}
type Alias DecryptedMessage46
return fmt.Sprintf("DecryptedMessage46%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DecryptedMessage46) TypeID() uint32 {
return DecryptedMessage46TypeID
}
// TypeName returns name of type in TL schema.
func (*DecryptedMessage46) TypeName() string {
return "decryptedMessage46"
}
// TypeInfo returns info about TL type.
func (d *DecryptedMessage46) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "decryptedMessage46",
ID: DecryptedMessage46TypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RandomID",
SchemaName: "random_id",
},
{
Name: "TTL",
SchemaName: "ttl",
},
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Media",
SchemaName: "media",
Null: !d.Flags.Has(9),
},
{
Name: "Entities",
SchemaName: "entities",
Null: !d.Flags.Has(7),
},
{
Name: "ViaBotName",
SchemaName: "via_bot_name",
Null: !d.Flags.Has(11),
},
{
Name: "ReplyToRandomID",
SchemaName: "reply_to_random_id",
Null: !d.Flags.Has(3),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (d *DecryptedMessage46) SetFlags() {
if !(d.Media == nil) {
d.Flags.Set(9)
}
if !(d.Entities == nil) {
d.Flags.Set(7)
}
if !(d.ViaBotName == "") {
d.Flags.Set(11)
}
if !(d.ReplyToRandomID == 0) {
d.Flags.Set(3)
}
}
// Encode implements bin.Encoder.
func (d *DecryptedMessage46) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage46#36b091de as nil")
}
b.PutID(DecryptedMessage46TypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DecryptedMessage46) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage46#36b091de as nil")
}
d.SetFlags()
if err := d.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage46#36b091de: field flags: %w", err)
}
b.PutLong(d.RandomID)
b.PutInt(d.TTL)
b.PutString(d.Message)
if d.Flags.Has(9) {
if d.Media == nil {
return fmt.Errorf("unable to encode decryptedMessage46#36b091de: field media is nil")
}
if err := d.Media.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage46#36b091de: field media: %w", err)
}
}
if d.Flags.Has(7) {
b.PutVectorHeader(len(d.Entities))
for idx, v := range d.Entities {
if v == nil {
return fmt.Errorf("unable to encode decryptedMessage46#36b091de: field entities element with index %d is nil", idx)
}
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage46#36b091de: field entities element with index %d: %w", idx, err)
}
}
}
if d.Flags.Has(11) {
b.PutString(d.ViaBotName)
}
if d.Flags.Has(3) {
b.PutLong(d.ReplyToRandomID)
}
return nil
}
// Decode implements bin.Decoder.
func (d *DecryptedMessage46) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage46#36b091de to nil")
}
if err := b.ConsumeID(DecryptedMessage46TypeID); err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DecryptedMessage46) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage46#36b091de to nil")
}
{
if err := d.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field flags: %w", err)
}
}
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field random_id: %w", err)
}
d.RandomID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field ttl: %w", err)
}
d.TTL = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field message: %w", err)
}
d.Message = value
}
if d.Flags.Has(9) {
value, err := DecodeDecryptedMessageMedia(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field media: %w", err)
}
d.Media = value
}
if d.Flags.Has(7) {
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field entities: %w", err)
}
if headerLen > 0 {
d.Entities = make([]MessageEntityClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeMessageEntity(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field entities: %w", err)
}
d.Entities = append(d.Entities, value)
}
}
if d.Flags.Has(11) {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field via_bot_name: %w", err)
}
d.ViaBotName = value
}
if d.Flags.Has(3) {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage46#36b091de: field reply_to_random_id: %w", err)
}
d.ReplyToRandomID = value
}
return nil
}
// GetRandomID returns value of RandomID field.
func (d *DecryptedMessage46) GetRandomID() (value int64) {
if d == nil {
return
}
return d.RandomID
}
// GetTTL returns value of TTL field.
func (d *DecryptedMessage46) GetTTL() (value int) {
if d == nil {
return
}
return d.TTL
}
// GetMessage returns value of Message field.
func (d *DecryptedMessage46) GetMessage() (value string) {
if d == nil {
return
}
return d.Message
}
// SetMedia sets value of Media conditional field.
func (d *DecryptedMessage46) SetMedia(value DecryptedMessageMediaClass) {
d.Flags.Set(9)
d.Media = value
}
// GetMedia returns value of Media conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage46) GetMedia() (value DecryptedMessageMediaClass, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(9) {
return value, false
}
return d.Media, true
}
// SetEntities sets value of Entities conditional field.
func (d *DecryptedMessage46) SetEntities(value []MessageEntityClass) {
d.Flags.Set(7)
d.Entities = value
}
// GetEntities returns value of Entities conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage46) GetEntities() (value []MessageEntityClass, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(7) {
return value, false
}
return d.Entities, true
}
// SetViaBotName sets value of ViaBotName conditional field.
func (d *DecryptedMessage46) SetViaBotName(value string) {
d.Flags.Set(11)
d.ViaBotName = value
}
// GetViaBotName returns value of ViaBotName conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage46) GetViaBotName() (value string, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(11) {
return value, false
}
return d.ViaBotName, true
}
// SetReplyToRandomID sets value of ReplyToRandomID conditional field.
func (d *DecryptedMessage46) SetReplyToRandomID(value int64) {
d.Flags.Set(3)
d.ReplyToRandomID = value
}
// GetReplyToRandomID returns value of ReplyToRandomID conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage46) GetReplyToRandomID() (value int64, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(3) {
return value, false
}
return d.ReplyToRandomID, true
}
// DecryptedMessage represents TL type `decryptedMessage#91cc4674`.
//
// See https://core.telegram.org/constructor/decryptedMessage for reference.
type DecryptedMessage struct {
// Flags field of DecryptedMessage.
Flags bin.Fields
// Silent field of DecryptedMessage.
Silent bool
// RandomID field of DecryptedMessage.
RandomID int64
// TTL field of DecryptedMessage.
TTL int
// Message field of DecryptedMessage.
Message string
// Media field of DecryptedMessage.
//
// Use SetMedia and GetMedia helpers.
Media DecryptedMessageMediaClass
// Entities field of DecryptedMessage.
//
// Use SetEntities and GetEntities helpers.
Entities []MessageEntityClass
// ViaBotName field of DecryptedMessage.
//
// Use SetViaBotName and GetViaBotName helpers.
ViaBotName string
// ReplyToRandomID field of DecryptedMessage.
//
// Use SetReplyToRandomID and GetReplyToRandomID helpers.
ReplyToRandomID int64
// GroupedID field of DecryptedMessage.
//
// Use SetGroupedID and GetGroupedID helpers.
GroupedID int64
}
// DecryptedMessageTypeID is TL type id of DecryptedMessage.
const DecryptedMessageTypeID = 0x91cc4674
// construct implements constructor of DecryptedMessageClass.
func (d DecryptedMessage) construct() DecryptedMessageClass { return &d }
// Ensuring interfaces in compile-time for DecryptedMessage.
var (
_ bin.Encoder = &DecryptedMessage{}
_ bin.Decoder = &DecryptedMessage{}
_ bin.BareEncoder = &DecryptedMessage{}
_ bin.BareDecoder = &DecryptedMessage{}
_ DecryptedMessageClass = &DecryptedMessage{}
)
func (d *DecryptedMessage) Zero() bool {
if d == nil {
return true
}
if !(d.Flags.Zero()) {
return false
}
if !(d.Silent == false) {
return false
}
if !(d.RandomID == 0) {
return false
}
if !(d.TTL == 0) {
return false
}
if !(d.Message == "") {
return false
}
if !(d.Media == nil) {
return false
}
if !(d.Entities == nil) {
return false
}
if !(d.ViaBotName == "") {
return false
}
if !(d.ReplyToRandomID == 0) {
return false
}
if !(d.GroupedID == 0) {
return false
}
return true
}
// String implements fmt.Stringer.
func (d *DecryptedMessage) String() string {
if d == nil {
return "DecryptedMessage(nil)"
}
type Alias DecryptedMessage
return fmt.Sprintf("DecryptedMessage%+v", Alias(*d))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*DecryptedMessage) TypeID() uint32 {
return DecryptedMessageTypeID
}
// TypeName returns name of type in TL schema.
func (*DecryptedMessage) TypeName() string {
return "decryptedMessage"
}
// TypeInfo returns info about TL type.
func (d *DecryptedMessage) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "decryptedMessage",
ID: DecryptedMessageTypeID,
}
if d == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Silent",
SchemaName: "silent",
Null: !d.Flags.Has(5),
},
{
Name: "RandomID",
SchemaName: "random_id",
},
{
Name: "TTL",
SchemaName: "ttl",
},
{
Name: "Message",
SchemaName: "message",
},
{
Name: "Media",
SchemaName: "media",
Null: !d.Flags.Has(9),
},
{
Name: "Entities",
SchemaName: "entities",
Null: !d.Flags.Has(7),
},
{
Name: "ViaBotName",
SchemaName: "via_bot_name",
Null: !d.Flags.Has(11),
},
{
Name: "ReplyToRandomID",
SchemaName: "reply_to_random_id",
Null: !d.Flags.Has(3),
},
{
Name: "GroupedID",
SchemaName: "grouped_id",
Null: !d.Flags.Has(17),
},
}
return typ
}
// SetFlags sets flags for non-zero fields.
func (d *DecryptedMessage) SetFlags() {
if !(d.Silent == false) {
d.Flags.Set(5)
}
if !(d.Media == nil) {
d.Flags.Set(9)
}
if !(d.Entities == nil) {
d.Flags.Set(7)
}
if !(d.ViaBotName == "") {
d.Flags.Set(11)
}
if !(d.ReplyToRandomID == 0) {
d.Flags.Set(3)
}
if !(d.GroupedID == 0) {
d.Flags.Set(17)
}
}
// Encode implements bin.Encoder.
func (d *DecryptedMessage) Encode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage#91cc4674 as nil")
}
b.PutID(DecryptedMessageTypeID)
return d.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (d *DecryptedMessage) EncodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't encode decryptedMessage#91cc4674 as nil")
}
d.SetFlags()
if err := d.Flags.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage#91cc4674: field flags: %w", err)
}
b.PutLong(d.RandomID)
b.PutInt(d.TTL)
b.PutString(d.Message)
if d.Flags.Has(9) {
if d.Media == nil {
return fmt.Errorf("unable to encode decryptedMessage#91cc4674: field media is nil")
}
if err := d.Media.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage#91cc4674: field media: %w", err)
}
}
if d.Flags.Has(7) {
b.PutVectorHeader(len(d.Entities))
for idx, v := range d.Entities {
if v == nil {
return fmt.Errorf("unable to encode decryptedMessage#91cc4674: field entities element with index %d is nil", idx)
}
if err := v.Encode(b); err != nil {
return fmt.Errorf("unable to encode decryptedMessage#91cc4674: field entities element with index %d: %w", idx, err)
}
}
}
if d.Flags.Has(11) {
b.PutString(d.ViaBotName)
}
if d.Flags.Has(3) {
b.PutLong(d.ReplyToRandomID)
}
if d.Flags.Has(17) {
b.PutLong(d.GroupedID)
}
return nil
}
// Decode implements bin.Decoder.
func (d *DecryptedMessage) Decode(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage#91cc4674 to nil")
}
if err := b.ConsumeID(DecryptedMessageTypeID); err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: %w", err)
}
return d.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (d *DecryptedMessage) DecodeBare(b *bin.Buffer) error {
if d == nil {
return fmt.Errorf("can't decode decryptedMessage#91cc4674 to nil")
}
{
if err := d.Flags.Decode(b); err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field flags: %w", err)
}
}
d.Silent = d.Flags.Has(5)
{
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field random_id: %w", err)
}
d.RandomID = value
}
{
value, err := b.Int()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field ttl: %w", err)
}
d.TTL = value
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field message: %w", err)
}
d.Message = value
}
if d.Flags.Has(9) {
value, err := DecodeDecryptedMessageMedia(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field media: %w", err)
}
d.Media = value
}
if d.Flags.Has(7) {
headerLen, err := b.VectorHeader()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field entities: %w", err)
}
if headerLen > 0 {
d.Entities = make([]MessageEntityClass, 0, headerLen%bin.PreallocateLimit)
}
for idx := 0; idx < headerLen; idx++ {
value, err := DecodeMessageEntity(b)
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field entities: %w", err)
}
d.Entities = append(d.Entities, value)
}
}
if d.Flags.Has(11) {
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field via_bot_name: %w", err)
}
d.ViaBotName = value
}
if d.Flags.Has(3) {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field reply_to_random_id: %w", err)
}
d.ReplyToRandomID = value
}
if d.Flags.Has(17) {
value, err := b.Long()
if err != nil {
return fmt.Errorf("unable to decode decryptedMessage#91cc4674: field grouped_id: %w", err)
}
d.GroupedID = value
}
return nil
}
// SetSilent sets value of Silent conditional field.
func (d *DecryptedMessage) SetSilent(value bool) {
if value {
d.Flags.Set(5)
d.Silent = true
} else {
d.Flags.Unset(5)
d.Silent = false
}
}
// GetSilent returns value of Silent conditional field.
func (d *DecryptedMessage) GetSilent() (value bool) {
if d == nil {
return
}
return d.Flags.Has(5)
}
// GetRandomID returns value of RandomID field.
func (d *DecryptedMessage) GetRandomID() (value int64) {
if d == nil {
return
}
return d.RandomID
}
// GetTTL returns value of TTL field.
func (d *DecryptedMessage) GetTTL() (value int) {
if d == nil {
return
}
return d.TTL
}
// GetMessage returns value of Message field.
func (d *DecryptedMessage) GetMessage() (value string) {
if d == nil {
return
}
return d.Message
}
// SetMedia sets value of Media conditional field.
func (d *DecryptedMessage) SetMedia(value DecryptedMessageMediaClass) {
d.Flags.Set(9)
d.Media = value
}
// GetMedia returns value of Media conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage) GetMedia() (value DecryptedMessageMediaClass, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(9) {
return value, false
}
return d.Media, true
}
// SetEntities sets value of Entities conditional field.
func (d *DecryptedMessage) SetEntities(value []MessageEntityClass) {
d.Flags.Set(7)
d.Entities = value
}
// GetEntities returns value of Entities conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage) GetEntities() (value []MessageEntityClass, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(7) {
return value, false
}
return d.Entities, true
}
// SetViaBotName sets value of ViaBotName conditional field.
func (d *DecryptedMessage) SetViaBotName(value string) {
d.Flags.Set(11)
d.ViaBotName = value
}
// GetViaBotName returns value of ViaBotName conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage) GetViaBotName() (value string, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(11) {
return value, false
}
return d.ViaBotName, true
}
// SetReplyToRandomID sets value of ReplyToRandomID conditional field.
func (d *DecryptedMessage) SetReplyToRandomID(value int64) {
d.Flags.Set(3)
d.ReplyToRandomID = value
}
// GetReplyToRandomID returns value of ReplyToRandomID conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage) GetReplyToRandomID() (value int64, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(3) {
return value, false
}
return d.ReplyToRandomID, true
}
// SetGroupedID sets value of GroupedID conditional field.
func (d *DecryptedMessage) SetGroupedID(value int64) {
d.Flags.Set(17)
d.GroupedID = value
}
// GetGroupedID returns value of GroupedID conditional field and
// boolean which is true if field was set.
func (d *DecryptedMessage) GetGroupedID() (value int64, ok bool) {
if d == nil {
return
}
if !d.Flags.Has(17) {
return value, false
}
return d.GroupedID, true
}
// DecryptedMessageClassName is schema name of DecryptedMessageClass.
const DecryptedMessageClassName = "DecryptedMessage"
// DecryptedMessageClass represents DecryptedMessage generic type.
//
// See https://core.telegram.org/type/DecryptedMessage for reference.
//
// Example:
//
// g, err := e2e.DecodeDecryptedMessage(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *e2e.DecryptedMessage8: // decryptedMessage8#1f814f1f
// case *e2e.DecryptedMessageService8: // decryptedMessageService8#aa48327d
// case *e2e.DecryptedMessage23: // decryptedMessage23#204d3878
// case *e2e.DecryptedMessageService: // decryptedMessageService#73164160
// case *e2e.DecryptedMessage46: // decryptedMessage46#36b091de
// case *e2e.DecryptedMessage: // decryptedMessage#91cc4674
// default: panic(v)
// }
type DecryptedMessageClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() DecryptedMessageClass
// 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
// RandomID field of DecryptedMessage8.
GetRandomID() (value int64)
}
// DecodeDecryptedMessage implements binary de-serialization for DecryptedMessageClass.
func DecodeDecryptedMessage(buf *bin.Buffer) (DecryptedMessageClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case DecryptedMessage8TypeID:
// Decoding decryptedMessage8#1f814f1f.
v := DecryptedMessage8{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", err)
}
return &v, nil
case DecryptedMessageService8TypeID:
// Decoding decryptedMessageService8#aa48327d.
v := DecryptedMessageService8{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", err)
}
return &v, nil
case DecryptedMessage23TypeID:
// Decoding decryptedMessage23#204d3878.
v := DecryptedMessage23{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", err)
}
return &v, nil
case DecryptedMessageServiceTypeID:
// Decoding decryptedMessageService#73164160.
v := DecryptedMessageService{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", err)
}
return &v, nil
case DecryptedMessage46TypeID:
// Decoding decryptedMessage46#36b091de.
v := DecryptedMessage46{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", err)
}
return &v, nil
case DecryptedMessageTypeID:
// Decoding decryptedMessage#91cc4674.
v := DecryptedMessage{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode DecryptedMessageClass: %w", bin.NewUnexpectedID(id))
}
}
// DecryptedMessage boxes the DecryptedMessageClass providing a helper.
type DecryptedMessageBox struct {
DecryptedMessage DecryptedMessageClass
}
// Decode implements bin.Decoder for DecryptedMessageBox.
func (b *DecryptedMessageBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode DecryptedMessageBox to nil")
}
v, err := DecodeDecryptedMessage(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.DecryptedMessage = v
return nil
}
// Encode implements bin.Encode for DecryptedMessageBox.
func (b *DecryptedMessageBox) Encode(buf *bin.Buffer) error {
if b == nil || b.DecryptedMessage == nil {
return fmt.Errorf("unable to encode DecryptedMessageClass as nil")
}
return b.DecryptedMessage.Encode(buf)
}