1667 lines
46 KiB
Go
Generated
1667 lines
46 KiB
Go
Generated
// Code generated by gotdgen, DO NOT EDIT.
|
|
|
|
package tg
|
|
|
|
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{}
|
|
)
|
|
|
|
// PrivacyKeyStatusTimestamp represents TL type `privacyKeyStatusTimestamp#bc2eab30`.
|
|
// Whether we can see the last online timestamp of this user.
|
|
// Note that if we decide to hide our exact last online timestamp to someone (i.e., users
|
|
// A, B, C, or all users) and we do not have a Premium¹ subscription, we won't be able
|
|
// to see the exact last online timestamp of those users (A, B, C, or all users), even if
|
|
// those users do share it with us.
|
|
// If those users do share their exact online status with us, but we can't see it due to
|
|
// the reason mentioned above, the by_me flag of userStatusRecently¹,
|
|
// userStatusLastWeek², userStatusLastMonth³ will be set.
|
|
//
|
|
// Links:
|
|
// 1. https://core.telegram.org/api/premium
|
|
// 2. https://core.telegram.org/constructor/userStatusRecently
|
|
// 3. https://core.telegram.org/constructor/userStatusLastWeek
|
|
// 4. https://core.telegram.org/constructor/userStatusLastMonth
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyStatusTimestamp for reference.
|
|
type PrivacyKeyStatusTimestamp struct {
|
|
}
|
|
|
|
// PrivacyKeyStatusTimestampTypeID is TL type id of PrivacyKeyStatusTimestamp.
|
|
const PrivacyKeyStatusTimestampTypeID = 0xbc2eab30
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyStatusTimestamp) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyStatusTimestamp.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyStatusTimestamp{}
|
|
_ bin.Decoder = &PrivacyKeyStatusTimestamp{}
|
|
_ bin.BareEncoder = &PrivacyKeyStatusTimestamp{}
|
|
_ bin.BareDecoder = &PrivacyKeyStatusTimestamp{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyStatusTimestamp{}
|
|
)
|
|
|
|
func (p *PrivacyKeyStatusTimestamp) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyStatusTimestamp) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyStatusTimestamp(nil)"
|
|
}
|
|
type Alias PrivacyKeyStatusTimestamp
|
|
return fmt.Sprintf("PrivacyKeyStatusTimestamp%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyStatusTimestamp) TypeID() uint32 {
|
|
return PrivacyKeyStatusTimestampTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyStatusTimestamp) TypeName() string {
|
|
return "privacyKeyStatusTimestamp"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyStatusTimestamp) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyStatusTimestamp",
|
|
ID: PrivacyKeyStatusTimestampTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyStatusTimestamp) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyStatusTimestamp#bc2eab30 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyStatusTimestampTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyStatusTimestamp) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyStatusTimestamp#bc2eab30 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyStatusTimestamp) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyStatusTimestamp#bc2eab30 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyStatusTimestampTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyStatusTimestamp#bc2eab30: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyStatusTimestamp) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyStatusTimestamp#bc2eab30 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyChatInvite represents TL type `privacyKeyChatInvite#500e6dfa`.
|
|
// Whether the user can be invited to chats
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyChatInvite for reference.
|
|
type PrivacyKeyChatInvite struct {
|
|
}
|
|
|
|
// PrivacyKeyChatInviteTypeID is TL type id of PrivacyKeyChatInvite.
|
|
const PrivacyKeyChatInviteTypeID = 0x500e6dfa
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyChatInvite) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyChatInvite.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyChatInvite{}
|
|
_ bin.Decoder = &PrivacyKeyChatInvite{}
|
|
_ bin.BareEncoder = &PrivacyKeyChatInvite{}
|
|
_ bin.BareDecoder = &PrivacyKeyChatInvite{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyChatInvite{}
|
|
)
|
|
|
|
func (p *PrivacyKeyChatInvite) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyChatInvite) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyChatInvite(nil)"
|
|
}
|
|
type Alias PrivacyKeyChatInvite
|
|
return fmt.Sprintf("PrivacyKeyChatInvite%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyChatInvite) TypeID() uint32 {
|
|
return PrivacyKeyChatInviteTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyChatInvite) TypeName() string {
|
|
return "privacyKeyChatInvite"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyChatInvite) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyChatInvite",
|
|
ID: PrivacyKeyChatInviteTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyChatInvite) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyChatInvite#500e6dfa as nil")
|
|
}
|
|
b.PutID(PrivacyKeyChatInviteTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyChatInvite) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyChatInvite#500e6dfa as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyChatInvite) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyChatInvite#500e6dfa to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyChatInviteTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyChatInvite#500e6dfa: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyChatInvite) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyChatInvite#500e6dfa to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyPhoneCall represents TL type `privacyKeyPhoneCall#3d662b7b`.
|
|
// Whether the user accepts phone calls
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyPhoneCall for reference.
|
|
type PrivacyKeyPhoneCall struct {
|
|
}
|
|
|
|
// PrivacyKeyPhoneCallTypeID is TL type id of PrivacyKeyPhoneCall.
|
|
const PrivacyKeyPhoneCallTypeID = 0x3d662b7b
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyPhoneCall) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyPhoneCall.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyPhoneCall{}
|
|
_ bin.Decoder = &PrivacyKeyPhoneCall{}
|
|
_ bin.BareEncoder = &PrivacyKeyPhoneCall{}
|
|
_ bin.BareDecoder = &PrivacyKeyPhoneCall{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyPhoneCall{}
|
|
)
|
|
|
|
func (p *PrivacyKeyPhoneCall) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyPhoneCall) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyPhoneCall(nil)"
|
|
}
|
|
type Alias PrivacyKeyPhoneCall
|
|
return fmt.Sprintf("PrivacyKeyPhoneCall%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyPhoneCall) TypeID() uint32 {
|
|
return PrivacyKeyPhoneCallTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyPhoneCall) TypeName() string {
|
|
return "privacyKeyPhoneCall"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyPhoneCall) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyPhoneCall",
|
|
ID: PrivacyKeyPhoneCallTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyPhoneCall) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyPhoneCall#3d662b7b as nil")
|
|
}
|
|
b.PutID(PrivacyKeyPhoneCallTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyPhoneCall) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyPhoneCall#3d662b7b as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyPhoneCall) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyPhoneCall#3d662b7b to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyPhoneCallTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyPhoneCall#3d662b7b: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyPhoneCall) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyPhoneCall#3d662b7b to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyPhoneP2P represents TL type `privacyKeyPhoneP2P#39491cc8`.
|
|
// Whether P2P connections in phone calls with this user are allowed
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyPhoneP2P for reference.
|
|
type PrivacyKeyPhoneP2P struct {
|
|
}
|
|
|
|
// PrivacyKeyPhoneP2PTypeID is TL type id of PrivacyKeyPhoneP2P.
|
|
const PrivacyKeyPhoneP2PTypeID = 0x39491cc8
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyPhoneP2P) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyPhoneP2P.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyPhoneP2P{}
|
|
_ bin.Decoder = &PrivacyKeyPhoneP2P{}
|
|
_ bin.BareEncoder = &PrivacyKeyPhoneP2P{}
|
|
_ bin.BareDecoder = &PrivacyKeyPhoneP2P{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyPhoneP2P{}
|
|
)
|
|
|
|
func (p *PrivacyKeyPhoneP2P) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyPhoneP2P) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyPhoneP2P(nil)"
|
|
}
|
|
type Alias PrivacyKeyPhoneP2P
|
|
return fmt.Sprintf("PrivacyKeyPhoneP2P%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyPhoneP2P) TypeID() uint32 {
|
|
return PrivacyKeyPhoneP2PTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyPhoneP2P) TypeName() string {
|
|
return "privacyKeyPhoneP2P"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyPhoneP2P) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyPhoneP2P",
|
|
ID: PrivacyKeyPhoneP2PTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyPhoneP2P) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyPhoneP2P#39491cc8 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyPhoneP2PTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyPhoneP2P) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyPhoneP2P#39491cc8 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyPhoneP2P) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyPhoneP2P#39491cc8 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyPhoneP2PTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyPhoneP2P#39491cc8: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyPhoneP2P) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyPhoneP2P#39491cc8 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyForwards represents TL type `privacyKeyForwards#69ec56a3`.
|
|
// Whether messages forwarded from the user will be anonymously forwarded¹
|
|
//
|
|
// Links:
|
|
// 1. https://telegram.org/blog/unsend-privacy-emoji#anonymous-forwarding
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyForwards for reference.
|
|
type PrivacyKeyForwards struct {
|
|
}
|
|
|
|
// PrivacyKeyForwardsTypeID is TL type id of PrivacyKeyForwards.
|
|
const PrivacyKeyForwardsTypeID = 0x69ec56a3
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyForwards) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyForwards.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyForwards{}
|
|
_ bin.Decoder = &PrivacyKeyForwards{}
|
|
_ bin.BareEncoder = &PrivacyKeyForwards{}
|
|
_ bin.BareDecoder = &PrivacyKeyForwards{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyForwards{}
|
|
)
|
|
|
|
func (p *PrivacyKeyForwards) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyForwards) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyForwards(nil)"
|
|
}
|
|
type Alias PrivacyKeyForwards
|
|
return fmt.Sprintf("PrivacyKeyForwards%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyForwards) TypeID() uint32 {
|
|
return PrivacyKeyForwardsTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyForwards) TypeName() string {
|
|
return "privacyKeyForwards"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyForwards) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyForwards",
|
|
ID: PrivacyKeyForwardsTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyForwards) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyForwards#69ec56a3 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyForwardsTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyForwards) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyForwards#69ec56a3 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyForwards) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyForwards#69ec56a3 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyForwardsTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyForwards#69ec56a3: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyForwards) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyForwards#69ec56a3 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyProfilePhoto represents TL type `privacyKeyProfilePhoto#96151fed`.
|
|
// Whether the profile picture of the user is visible
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyProfilePhoto for reference.
|
|
type PrivacyKeyProfilePhoto struct {
|
|
}
|
|
|
|
// PrivacyKeyProfilePhotoTypeID is TL type id of PrivacyKeyProfilePhoto.
|
|
const PrivacyKeyProfilePhotoTypeID = 0x96151fed
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyProfilePhoto) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyProfilePhoto.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyProfilePhoto{}
|
|
_ bin.Decoder = &PrivacyKeyProfilePhoto{}
|
|
_ bin.BareEncoder = &PrivacyKeyProfilePhoto{}
|
|
_ bin.BareDecoder = &PrivacyKeyProfilePhoto{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyProfilePhoto{}
|
|
)
|
|
|
|
func (p *PrivacyKeyProfilePhoto) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyProfilePhoto) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyProfilePhoto(nil)"
|
|
}
|
|
type Alias PrivacyKeyProfilePhoto
|
|
return fmt.Sprintf("PrivacyKeyProfilePhoto%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyProfilePhoto) TypeID() uint32 {
|
|
return PrivacyKeyProfilePhotoTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyProfilePhoto) TypeName() string {
|
|
return "privacyKeyProfilePhoto"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyProfilePhoto) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyProfilePhoto",
|
|
ID: PrivacyKeyProfilePhotoTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyProfilePhoto) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyProfilePhoto#96151fed as nil")
|
|
}
|
|
b.PutID(PrivacyKeyProfilePhotoTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyProfilePhoto) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyProfilePhoto#96151fed as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyProfilePhoto) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyProfilePhoto#96151fed to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyProfilePhotoTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyProfilePhoto#96151fed: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyProfilePhoto) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyProfilePhoto#96151fed to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyPhoneNumber represents TL type `privacyKeyPhoneNumber#d19ae46d`.
|
|
// Whether the user allows us to see his phone number
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyPhoneNumber for reference.
|
|
type PrivacyKeyPhoneNumber struct {
|
|
}
|
|
|
|
// PrivacyKeyPhoneNumberTypeID is TL type id of PrivacyKeyPhoneNumber.
|
|
const PrivacyKeyPhoneNumberTypeID = 0xd19ae46d
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyPhoneNumber) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyPhoneNumber.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyPhoneNumber{}
|
|
_ bin.Decoder = &PrivacyKeyPhoneNumber{}
|
|
_ bin.BareEncoder = &PrivacyKeyPhoneNumber{}
|
|
_ bin.BareDecoder = &PrivacyKeyPhoneNumber{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyPhoneNumber{}
|
|
)
|
|
|
|
func (p *PrivacyKeyPhoneNumber) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyPhoneNumber) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyPhoneNumber(nil)"
|
|
}
|
|
type Alias PrivacyKeyPhoneNumber
|
|
return fmt.Sprintf("PrivacyKeyPhoneNumber%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyPhoneNumber) TypeID() uint32 {
|
|
return PrivacyKeyPhoneNumberTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyPhoneNumber) TypeName() string {
|
|
return "privacyKeyPhoneNumber"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyPhoneNumber) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyPhoneNumber",
|
|
ID: PrivacyKeyPhoneNumberTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyPhoneNumber) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyPhoneNumber#d19ae46d as nil")
|
|
}
|
|
b.PutID(PrivacyKeyPhoneNumberTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyPhoneNumber) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyPhoneNumber#d19ae46d as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyPhoneNumber) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyPhoneNumber#d19ae46d to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyPhoneNumberTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyPhoneNumber#d19ae46d: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyPhoneNumber) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyPhoneNumber#d19ae46d to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyAddedByPhone represents TL type `privacyKeyAddedByPhone#42ffd42b`.
|
|
// Whether this user can be added to our contact list by their phone number
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyAddedByPhone for reference.
|
|
type PrivacyKeyAddedByPhone struct {
|
|
}
|
|
|
|
// PrivacyKeyAddedByPhoneTypeID is TL type id of PrivacyKeyAddedByPhone.
|
|
const PrivacyKeyAddedByPhoneTypeID = 0x42ffd42b
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyAddedByPhone) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyAddedByPhone.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyAddedByPhone{}
|
|
_ bin.Decoder = &PrivacyKeyAddedByPhone{}
|
|
_ bin.BareEncoder = &PrivacyKeyAddedByPhone{}
|
|
_ bin.BareDecoder = &PrivacyKeyAddedByPhone{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyAddedByPhone{}
|
|
)
|
|
|
|
func (p *PrivacyKeyAddedByPhone) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyAddedByPhone) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyAddedByPhone(nil)"
|
|
}
|
|
type Alias PrivacyKeyAddedByPhone
|
|
return fmt.Sprintf("PrivacyKeyAddedByPhone%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyAddedByPhone) TypeID() uint32 {
|
|
return PrivacyKeyAddedByPhoneTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyAddedByPhone) TypeName() string {
|
|
return "privacyKeyAddedByPhone"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyAddedByPhone) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyAddedByPhone",
|
|
ID: PrivacyKeyAddedByPhoneTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyAddedByPhone) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyAddedByPhone#42ffd42b as nil")
|
|
}
|
|
b.PutID(PrivacyKeyAddedByPhoneTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyAddedByPhone) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyAddedByPhone#42ffd42b as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyAddedByPhone) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyAddedByPhone#42ffd42b to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyAddedByPhoneTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyAddedByPhone#42ffd42b: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyAddedByPhone) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyAddedByPhone#42ffd42b to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyVoiceMessages represents TL type `privacyKeyVoiceMessages#697f414`.
|
|
// Whether the user accepts voice messages
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyVoiceMessages for reference.
|
|
type PrivacyKeyVoiceMessages struct {
|
|
}
|
|
|
|
// PrivacyKeyVoiceMessagesTypeID is TL type id of PrivacyKeyVoiceMessages.
|
|
const PrivacyKeyVoiceMessagesTypeID = 0x697f414
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyVoiceMessages) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyVoiceMessages.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyVoiceMessages{}
|
|
_ bin.Decoder = &PrivacyKeyVoiceMessages{}
|
|
_ bin.BareEncoder = &PrivacyKeyVoiceMessages{}
|
|
_ bin.BareDecoder = &PrivacyKeyVoiceMessages{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyVoiceMessages{}
|
|
)
|
|
|
|
func (p *PrivacyKeyVoiceMessages) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyVoiceMessages) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyVoiceMessages(nil)"
|
|
}
|
|
type Alias PrivacyKeyVoiceMessages
|
|
return fmt.Sprintf("PrivacyKeyVoiceMessages%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyVoiceMessages) TypeID() uint32 {
|
|
return PrivacyKeyVoiceMessagesTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyVoiceMessages) TypeName() string {
|
|
return "privacyKeyVoiceMessages"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyVoiceMessages) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyVoiceMessages",
|
|
ID: PrivacyKeyVoiceMessagesTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyVoiceMessages) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyVoiceMessages#697f414 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyVoiceMessagesTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyVoiceMessages) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyVoiceMessages#697f414 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyVoiceMessages) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyVoiceMessages#697f414 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyVoiceMessagesTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyVoiceMessages#697f414: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyVoiceMessages) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyVoiceMessages#697f414 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyAbout represents TL type `privacyKeyAbout#a486b761`.
|
|
// Whether people can see your bio
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyAbout for reference.
|
|
type PrivacyKeyAbout struct {
|
|
}
|
|
|
|
// PrivacyKeyAboutTypeID is TL type id of PrivacyKeyAbout.
|
|
const PrivacyKeyAboutTypeID = 0xa486b761
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyAbout) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyAbout.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyAbout{}
|
|
_ bin.Decoder = &PrivacyKeyAbout{}
|
|
_ bin.BareEncoder = &PrivacyKeyAbout{}
|
|
_ bin.BareDecoder = &PrivacyKeyAbout{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyAbout{}
|
|
)
|
|
|
|
func (p *PrivacyKeyAbout) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyAbout) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyAbout(nil)"
|
|
}
|
|
type Alias PrivacyKeyAbout
|
|
return fmt.Sprintf("PrivacyKeyAbout%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyAbout) TypeID() uint32 {
|
|
return PrivacyKeyAboutTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyAbout) TypeName() string {
|
|
return "privacyKeyAbout"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyAbout) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyAbout",
|
|
ID: PrivacyKeyAboutTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyAbout) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyAbout#a486b761 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyAboutTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyAbout) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyAbout#a486b761 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyAbout) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyAbout#a486b761 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyAboutTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyAbout#a486b761: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyAbout) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyAbout#a486b761 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyBirthday represents TL type `privacyKeyBirthday#2000a518`.
|
|
// Whether the user can see our birthday.
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyBirthday for reference.
|
|
type PrivacyKeyBirthday struct {
|
|
}
|
|
|
|
// PrivacyKeyBirthdayTypeID is TL type id of PrivacyKeyBirthday.
|
|
const PrivacyKeyBirthdayTypeID = 0x2000a518
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyBirthday) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyBirthday.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyBirthday{}
|
|
_ bin.Decoder = &PrivacyKeyBirthday{}
|
|
_ bin.BareEncoder = &PrivacyKeyBirthday{}
|
|
_ bin.BareDecoder = &PrivacyKeyBirthday{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyBirthday{}
|
|
)
|
|
|
|
func (p *PrivacyKeyBirthday) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyBirthday) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyBirthday(nil)"
|
|
}
|
|
type Alias PrivacyKeyBirthday
|
|
return fmt.Sprintf("PrivacyKeyBirthday%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyBirthday) TypeID() uint32 {
|
|
return PrivacyKeyBirthdayTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyBirthday) TypeName() string {
|
|
return "privacyKeyBirthday"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyBirthday) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyBirthday",
|
|
ID: PrivacyKeyBirthdayTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyBirthday) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyBirthday#2000a518 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyBirthdayTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyBirthday) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyBirthday#2000a518 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyBirthday) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyBirthday#2000a518 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyBirthdayTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyBirthday#2000a518: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyBirthday) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyBirthday#2000a518 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyStarGiftsAutoSave represents TL type `privacyKeyStarGiftsAutoSave#2ca4fdf8`.
|
|
// Whether received gifts¹ will be automatically displayed on our profile
|
|
//
|
|
// Links:
|
|
// 1. https://core.telegram.org/api/gifts
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyStarGiftsAutoSave for reference.
|
|
type PrivacyKeyStarGiftsAutoSave struct {
|
|
}
|
|
|
|
// PrivacyKeyStarGiftsAutoSaveTypeID is TL type id of PrivacyKeyStarGiftsAutoSave.
|
|
const PrivacyKeyStarGiftsAutoSaveTypeID = 0x2ca4fdf8
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyStarGiftsAutoSave) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyStarGiftsAutoSave.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyStarGiftsAutoSave{}
|
|
_ bin.Decoder = &PrivacyKeyStarGiftsAutoSave{}
|
|
_ bin.BareEncoder = &PrivacyKeyStarGiftsAutoSave{}
|
|
_ bin.BareDecoder = &PrivacyKeyStarGiftsAutoSave{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyStarGiftsAutoSave{}
|
|
)
|
|
|
|
func (p *PrivacyKeyStarGiftsAutoSave) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyStarGiftsAutoSave) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyStarGiftsAutoSave(nil)"
|
|
}
|
|
type Alias PrivacyKeyStarGiftsAutoSave
|
|
return fmt.Sprintf("PrivacyKeyStarGiftsAutoSave%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyStarGiftsAutoSave) TypeID() uint32 {
|
|
return PrivacyKeyStarGiftsAutoSaveTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyStarGiftsAutoSave) TypeName() string {
|
|
return "privacyKeyStarGiftsAutoSave"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyStarGiftsAutoSave) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyStarGiftsAutoSave",
|
|
ID: PrivacyKeyStarGiftsAutoSaveTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyStarGiftsAutoSave) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyStarGiftsAutoSave#2ca4fdf8 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyStarGiftsAutoSaveTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyStarGiftsAutoSave) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyStarGiftsAutoSave#2ca4fdf8 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyStarGiftsAutoSave) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyStarGiftsAutoSave#2ca4fdf8 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyStarGiftsAutoSaveTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyStarGiftsAutoSave#2ca4fdf8: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyStarGiftsAutoSave) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyStarGiftsAutoSave#2ca4fdf8 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyNoPaidMessages represents TL type `privacyKeyNoPaidMessages#17d348d2`.
|
|
// Who can send you messages without paying, if paid messages »¹ are enabled.
|
|
//
|
|
// Links:
|
|
// 1. https://core.telegram.org/api/paid-messages
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeyNoPaidMessages for reference.
|
|
type PrivacyKeyNoPaidMessages struct {
|
|
}
|
|
|
|
// PrivacyKeyNoPaidMessagesTypeID is TL type id of PrivacyKeyNoPaidMessages.
|
|
const PrivacyKeyNoPaidMessagesTypeID = 0x17d348d2
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeyNoPaidMessages) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeyNoPaidMessages.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeyNoPaidMessages{}
|
|
_ bin.Decoder = &PrivacyKeyNoPaidMessages{}
|
|
_ bin.BareEncoder = &PrivacyKeyNoPaidMessages{}
|
|
_ bin.BareDecoder = &PrivacyKeyNoPaidMessages{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeyNoPaidMessages{}
|
|
)
|
|
|
|
func (p *PrivacyKeyNoPaidMessages) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeyNoPaidMessages) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeyNoPaidMessages(nil)"
|
|
}
|
|
type Alias PrivacyKeyNoPaidMessages
|
|
return fmt.Sprintf("PrivacyKeyNoPaidMessages%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeyNoPaidMessages) TypeID() uint32 {
|
|
return PrivacyKeyNoPaidMessagesTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeyNoPaidMessages) TypeName() string {
|
|
return "privacyKeyNoPaidMessages"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeyNoPaidMessages) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeyNoPaidMessages",
|
|
ID: PrivacyKeyNoPaidMessagesTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeyNoPaidMessages) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyNoPaidMessages#17d348d2 as nil")
|
|
}
|
|
b.PutID(PrivacyKeyNoPaidMessagesTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeyNoPaidMessages) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeyNoPaidMessages#17d348d2 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeyNoPaidMessages) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyNoPaidMessages#17d348d2 to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeyNoPaidMessagesTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeyNoPaidMessages#17d348d2: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeyNoPaidMessages) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeyNoPaidMessages#17d348d2 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeySavedMusic represents TL type `privacyKeySavedMusic#ff7a571b`.
|
|
//
|
|
// See https://core.telegram.org/constructor/privacyKeySavedMusic for reference.
|
|
type PrivacyKeySavedMusic struct {
|
|
}
|
|
|
|
// PrivacyKeySavedMusicTypeID is TL type id of PrivacyKeySavedMusic.
|
|
const PrivacyKeySavedMusicTypeID = 0xff7a571b
|
|
|
|
// construct implements constructor of PrivacyKeyClass.
|
|
func (p PrivacyKeySavedMusic) construct() PrivacyKeyClass { return &p }
|
|
|
|
// Ensuring interfaces in compile-time for PrivacyKeySavedMusic.
|
|
var (
|
|
_ bin.Encoder = &PrivacyKeySavedMusic{}
|
|
_ bin.Decoder = &PrivacyKeySavedMusic{}
|
|
_ bin.BareEncoder = &PrivacyKeySavedMusic{}
|
|
_ bin.BareDecoder = &PrivacyKeySavedMusic{}
|
|
|
|
_ PrivacyKeyClass = &PrivacyKeySavedMusic{}
|
|
)
|
|
|
|
func (p *PrivacyKeySavedMusic) Zero() bool {
|
|
if p == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (p *PrivacyKeySavedMusic) String() string {
|
|
if p == nil {
|
|
return "PrivacyKeySavedMusic(nil)"
|
|
}
|
|
type Alias PrivacyKeySavedMusic
|
|
return fmt.Sprintf("PrivacyKeySavedMusic%+v", Alias(*p))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*PrivacyKeySavedMusic) TypeID() uint32 {
|
|
return PrivacyKeySavedMusicTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*PrivacyKeySavedMusic) TypeName() string {
|
|
return "privacyKeySavedMusic"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (p *PrivacyKeySavedMusic) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "privacyKeySavedMusic",
|
|
ID: PrivacyKeySavedMusicTypeID,
|
|
}
|
|
if p == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (p *PrivacyKeySavedMusic) Encode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeySavedMusic#ff7a571b as nil")
|
|
}
|
|
b.PutID(PrivacyKeySavedMusicTypeID)
|
|
return p.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (p *PrivacyKeySavedMusic) EncodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't encode privacyKeySavedMusic#ff7a571b as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (p *PrivacyKeySavedMusic) Decode(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeySavedMusic#ff7a571b to nil")
|
|
}
|
|
if err := b.ConsumeID(PrivacyKeySavedMusicTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode privacyKeySavedMusic#ff7a571b: %w", err)
|
|
}
|
|
return p.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (p *PrivacyKeySavedMusic) DecodeBare(b *bin.Buffer) error {
|
|
if p == nil {
|
|
return fmt.Errorf("can't decode privacyKeySavedMusic#ff7a571b to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PrivacyKeyClassName is schema name of PrivacyKeyClass.
|
|
const PrivacyKeyClassName = "PrivacyKey"
|
|
|
|
// PrivacyKeyClass represents PrivacyKey generic type.
|
|
//
|
|
// See https://core.telegram.org/type/PrivacyKey for reference.
|
|
//
|
|
// Example:
|
|
//
|
|
// g, err := tg.DecodePrivacyKey(buf)
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// switch v := g.(type) {
|
|
// case *tg.PrivacyKeyStatusTimestamp: // privacyKeyStatusTimestamp#bc2eab30
|
|
// case *tg.PrivacyKeyChatInvite: // privacyKeyChatInvite#500e6dfa
|
|
// case *tg.PrivacyKeyPhoneCall: // privacyKeyPhoneCall#3d662b7b
|
|
// case *tg.PrivacyKeyPhoneP2P: // privacyKeyPhoneP2P#39491cc8
|
|
// case *tg.PrivacyKeyForwards: // privacyKeyForwards#69ec56a3
|
|
// case *tg.PrivacyKeyProfilePhoto: // privacyKeyProfilePhoto#96151fed
|
|
// case *tg.PrivacyKeyPhoneNumber: // privacyKeyPhoneNumber#d19ae46d
|
|
// case *tg.PrivacyKeyAddedByPhone: // privacyKeyAddedByPhone#42ffd42b
|
|
// case *tg.PrivacyKeyVoiceMessages: // privacyKeyVoiceMessages#697f414
|
|
// case *tg.PrivacyKeyAbout: // privacyKeyAbout#a486b761
|
|
// case *tg.PrivacyKeyBirthday: // privacyKeyBirthday#2000a518
|
|
// case *tg.PrivacyKeyStarGiftsAutoSave: // privacyKeyStarGiftsAutoSave#2ca4fdf8
|
|
// case *tg.PrivacyKeyNoPaidMessages: // privacyKeyNoPaidMessages#17d348d2
|
|
// case *tg.PrivacyKeySavedMusic: // privacyKeySavedMusic#ff7a571b
|
|
// default: panic(v)
|
|
// }
|
|
type PrivacyKeyClass interface {
|
|
bin.Encoder
|
|
bin.Decoder
|
|
bin.BareEncoder
|
|
bin.BareDecoder
|
|
construct() PrivacyKeyClass
|
|
|
|
// 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
|
|
}
|
|
|
|
// DecodePrivacyKey implements binary de-serialization for PrivacyKeyClass.
|
|
func DecodePrivacyKey(buf *bin.Buffer) (PrivacyKeyClass, error) {
|
|
id, err := buf.PeekID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case PrivacyKeyStatusTimestampTypeID:
|
|
// Decoding privacyKeyStatusTimestamp#bc2eab30.
|
|
v := PrivacyKeyStatusTimestamp{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyChatInviteTypeID:
|
|
// Decoding privacyKeyChatInvite#500e6dfa.
|
|
v := PrivacyKeyChatInvite{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyPhoneCallTypeID:
|
|
// Decoding privacyKeyPhoneCall#3d662b7b.
|
|
v := PrivacyKeyPhoneCall{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyPhoneP2PTypeID:
|
|
// Decoding privacyKeyPhoneP2P#39491cc8.
|
|
v := PrivacyKeyPhoneP2P{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyForwardsTypeID:
|
|
// Decoding privacyKeyForwards#69ec56a3.
|
|
v := PrivacyKeyForwards{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyProfilePhotoTypeID:
|
|
// Decoding privacyKeyProfilePhoto#96151fed.
|
|
v := PrivacyKeyProfilePhoto{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyPhoneNumberTypeID:
|
|
// Decoding privacyKeyPhoneNumber#d19ae46d.
|
|
v := PrivacyKeyPhoneNumber{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyAddedByPhoneTypeID:
|
|
// Decoding privacyKeyAddedByPhone#42ffd42b.
|
|
v := PrivacyKeyAddedByPhone{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyVoiceMessagesTypeID:
|
|
// Decoding privacyKeyVoiceMessages#697f414.
|
|
v := PrivacyKeyVoiceMessages{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyAboutTypeID:
|
|
// Decoding privacyKeyAbout#a486b761.
|
|
v := PrivacyKeyAbout{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyBirthdayTypeID:
|
|
// Decoding privacyKeyBirthday#2000a518.
|
|
v := PrivacyKeyBirthday{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyStarGiftsAutoSaveTypeID:
|
|
// Decoding privacyKeyStarGiftsAutoSave#2ca4fdf8.
|
|
v := PrivacyKeyStarGiftsAutoSave{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeyNoPaidMessagesTypeID:
|
|
// Decoding privacyKeyNoPaidMessages#17d348d2.
|
|
v := PrivacyKeyNoPaidMessages{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case PrivacyKeySavedMusicTypeID:
|
|
// Decoding privacyKeySavedMusic#ff7a571b.
|
|
v := PrivacyKeySavedMusic{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode PrivacyKeyClass: %w", bin.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// PrivacyKey boxes the PrivacyKeyClass providing a helper.
|
|
type PrivacyKeyBox struct {
|
|
PrivacyKey PrivacyKeyClass
|
|
}
|
|
|
|
// Decode implements bin.Decoder for PrivacyKeyBox.
|
|
func (b *PrivacyKeyBox) Decode(buf *bin.Buffer) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode PrivacyKeyBox to nil")
|
|
}
|
|
v, err := DecodePrivacyKey(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.PrivacyKey = v
|
|
return nil
|
|
}
|
|
|
|
// Encode implements bin.Encode for PrivacyKeyBox.
|
|
func (b *PrivacyKeyBox) Encode(buf *bin.Buffer) error {
|
|
if b == nil || b.PrivacyKey == nil {
|
|
return fmt.Errorf("unable to encode PrivacyKeyClass as nil")
|
|
}
|
|
return b.PrivacyKey.Encode(buf)
|
|
}
|