7a04f298d2
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
979 lines
31 KiB
Go
979 lines
31 KiB
Go
// Code generated by gotdgen, DO NOT EDIT.
|
|
|
|
package tdapi
|
|
|
|
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{}
|
|
)
|
|
|
|
// GiveawayParticipantStatusEligible represents TL type `giveawayParticipantStatusEligible#122ade97`.
|
|
type GiveawayParticipantStatusEligible struct {
|
|
}
|
|
|
|
// GiveawayParticipantStatusEligibleTypeID is TL type id of GiveawayParticipantStatusEligible.
|
|
const GiveawayParticipantStatusEligibleTypeID = 0x122ade97
|
|
|
|
// construct implements constructor of GiveawayParticipantStatusClass.
|
|
func (g GiveawayParticipantStatusEligible) construct() GiveawayParticipantStatusClass { return &g }
|
|
|
|
// Ensuring interfaces in compile-time for GiveawayParticipantStatusEligible.
|
|
var (
|
|
_ bin.Encoder = &GiveawayParticipantStatusEligible{}
|
|
_ bin.Decoder = &GiveawayParticipantStatusEligible{}
|
|
_ bin.BareEncoder = &GiveawayParticipantStatusEligible{}
|
|
_ bin.BareDecoder = &GiveawayParticipantStatusEligible{}
|
|
|
|
_ GiveawayParticipantStatusClass = &GiveawayParticipantStatusEligible{}
|
|
)
|
|
|
|
func (g *GiveawayParticipantStatusEligible) Zero() bool {
|
|
if g == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (g *GiveawayParticipantStatusEligible) String() string {
|
|
if g == nil {
|
|
return "GiveawayParticipantStatusEligible(nil)"
|
|
}
|
|
type Alias GiveawayParticipantStatusEligible
|
|
return fmt.Sprintf("GiveawayParticipantStatusEligible%+v", Alias(*g))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*GiveawayParticipantStatusEligible) TypeID() uint32 {
|
|
return GiveawayParticipantStatusEligibleTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*GiveawayParticipantStatusEligible) TypeName() string {
|
|
return "giveawayParticipantStatusEligible"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (g *GiveawayParticipantStatusEligible) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "giveawayParticipantStatusEligible",
|
|
ID: GiveawayParticipantStatusEligibleTypeID,
|
|
}
|
|
if g == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (g *GiveawayParticipantStatusEligible) Encode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusEligible#122ade97 as nil")
|
|
}
|
|
b.PutID(GiveawayParticipantStatusEligibleTypeID)
|
|
return g.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (g *GiveawayParticipantStatusEligible) EncodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusEligible#122ade97 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (g *GiveawayParticipantStatusEligible) Decode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusEligible#122ade97 to nil")
|
|
}
|
|
if err := b.ConsumeID(GiveawayParticipantStatusEligibleTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusEligible#122ade97: %w", err)
|
|
}
|
|
return g.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (g *GiveawayParticipantStatusEligible) DecodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusEligible#122ade97 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (g *GiveawayParticipantStatusEligible) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusEligible#122ade97 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("giveawayParticipantStatusEligible")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (g *GiveawayParticipantStatusEligible) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusEligible#122ade97 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("giveawayParticipantStatusEligible"); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusEligible#122ade97: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GiveawayParticipantStatusParticipating represents TL type `giveawayParticipantStatusParticipating#1d53e36f`.
|
|
type GiveawayParticipantStatusParticipating struct {
|
|
}
|
|
|
|
// GiveawayParticipantStatusParticipatingTypeID is TL type id of GiveawayParticipantStatusParticipating.
|
|
const GiveawayParticipantStatusParticipatingTypeID = 0x1d53e36f
|
|
|
|
// construct implements constructor of GiveawayParticipantStatusClass.
|
|
func (g GiveawayParticipantStatusParticipating) construct() GiveawayParticipantStatusClass { return &g }
|
|
|
|
// Ensuring interfaces in compile-time for GiveawayParticipantStatusParticipating.
|
|
var (
|
|
_ bin.Encoder = &GiveawayParticipantStatusParticipating{}
|
|
_ bin.Decoder = &GiveawayParticipantStatusParticipating{}
|
|
_ bin.BareEncoder = &GiveawayParticipantStatusParticipating{}
|
|
_ bin.BareDecoder = &GiveawayParticipantStatusParticipating{}
|
|
|
|
_ GiveawayParticipantStatusClass = &GiveawayParticipantStatusParticipating{}
|
|
)
|
|
|
|
func (g *GiveawayParticipantStatusParticipating) Zero() bool {
|
|
if g == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (g *GiveawayParticipantStatusParticipating) String() string {
|
|
if g == nil {
|
|
return "GiveawayParticipantStatusParticipating(nil)"
|
|
}
|
|
type Alias GiveawayParticipantStatusParticipating
|
|
return fmt.Sprintf("GiveawayParticipantStatusParticipating%+v", Alias(*g))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*GiveawayParticipantStatusParticipating) TypeID() uint32 {
|
|
return GiveawayParticipantStatusParticipatingTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*GiveawayParticipantStatusParticipating) TypeName() string {
|
|
return "giveawayParticipantStatusParticipating"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (g *GiveawayParticipantStatusParticipating) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "giveawayParticipantStatusParticipating",
|
|
ID: GiveawayParticipantStatusParticipatingTypeID,
|
|
}
|
|
if g == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (g *GiveawayParticipantStatusParticipating) Encode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusParticipating#1d53e36f as nil")
|
|
}
|
|
b.PutID(GiveawayParticipantStatusParticipatingTypeID)
|
|
return g.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (g *GiveawayParticipantStatusParticipating) EncodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusParticipating#1d53e36f as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (g *GiveawayParticipantStatusParticipating) Decode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusParticipating#1d53e36f to nil")
|
|
}
|
|
if err := b.ConsumeID(GiveawayParticipantStatusParticipatingTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusParticipating#1d53e36f: %w", err)
|
|
}
|
|
return g.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (g *GiveawayParticipantStatusParticipating) DecodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusParticipating#1d53e36f to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (g *GiveawayParticipantStatusParticipating) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusParticipating#1d53e36f as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("giveawayParticipantStatusParticipating")
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (g *GiveawayParticipantStatusParticipating) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusParticipating#1d53e36f to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("giveawayParticipantStatusParticipating"); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusParticipating#1d53e36f: %w", err)
|
|
}
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GiveawayParticipantStatusAlreadyWasMember represents TL type `giveawayParticipantStatusAlreadyWasMember#11f9b5a0`.
|
|
type GiveawayParticipantStatusAlreadyWasMember struct {
|
|
// Point in time (Unix timestamp) when the user joined the chat
|
|
JoinedChatDate int32
|
|
}
|
|
|
|
// GiveawayParticipantStatusAlreadyWasMemberTypeID is TL type id of GiveawayParticipantStatusAlreadyWasMember.
|
|
const GiveawayParticipantStatusAlreadyWasMemberTypeID = 0x11f9b5a0
|
|
|
|
// construct implements constructor of GiveawayParticipantStatusClass.
|
|
func (g GiveawayParticipantStatusAlreadyWasMember) construct() GiveawayParticipantStatusClass {
|
|
return &g
|
|
}
|
|
|
|
// Ensuring interfaces in compile-time for GiveawayParticipantStatusAlreadyWasMember.
|
|
var (
|
|
_ bin.Encoder = &GiveawayParticipantStatusAlreadyWasMember{}
|
|
_ bin.Decoder = &GiveawayParticipantStatusAlreadyWasMember{}
|
|
_ bin.BareEncoder = &GiveawayParticipantStatusAlreadyWasMember{}
|
|
_ bin.BareDecoder = &GiveawayParticipantStatusAlreadyWasMember{}
|
|
|
|
_ GiveawayParticipantStatusClass = &GiveawayParticipantStatusAlreadyWasMember{}
|
|
)
|
|
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) Zero() bool {
|
|
if g == nil {
|
|
return true
|
|
}
|
|
if !(g.JoinedChatDate == 0) {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) String() string {
|
|
if g == nil {
|
|
return "GiveawayParticipantStatusAlreadyWasMember(nil)"
|
|
}
|
|
type Alias GiveawayParticipantStatusAlreadyWasMember
|
|
return fmt.Sprintf("GiveawayParticipantStatusAlreadyWasMember%+v", Alias(*g))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*GiveawayParticipantStatusAlreadyWasMember) TypeID() uint32 {
|
|
return GiveawayParticipantStatusAlreadyWasMemberTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*GiveawayParticipantStatusAlreadyWasMember) TypeName() string {
|
|
return "giveawayParticipantStatusAlreadyWasMember"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "giveawayParticipantStatusAlreadyWasMember",
|
|
ID: GiveawayParticipantStatusAlreadyWasMemberTypeID,
|
|
}
|
|
if g == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "JoinedChatDate",
|
|
SchemaName: "joined_chat_date",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) Encode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusAlreadyWasMember#11f9b5a0 as nil")
|
|
}
|
|
b.PutID(GiveawayParticipantStatusAlreadyWasMemberTypeID)
|
|
return g.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) EncodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusAlreadyWasMember#11f9b5a0 as nil")
|
|
}
|
|
b.PutInt32(g.JoinedChatDate)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) Decode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0 to nil")
|
|
}
|
|
if err := b.ConsumeID(GiveawayParticipantStatusAlreadyWasMemberTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0: %w", err)
|
|
}
|
|
return g.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) DecodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0 to nil")
|
|
}
|
|
{
|
|
value, err := b.Int32()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0: field joined_chat_date: %w", err)
|
|
}
|
|
g.JoinedChatDate = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusAlreadyWasMember#11f9b5a0 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("giveawayParticipantStatusAlreadyWasMember")
|
|
b.Comma()
|
|
b.FieldStart("joined_chat_date")
|
|
b.PutInt32(g.JoinedChatDate)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("giveawayParticipantStatusAlreadyWasMember"); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0: %w", err)
|
|
}
|
|
case "joined_chat_date":
|
|
value, err := b.Int32()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAlreadyWasMember#11f9b5a0: field joined_chat_date: %w", err)
|
|
}
|
|
g.JoinedChatDate = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetJoinedChatDate returns value of JoinedChatDate field.
|
|
func (g *GiveawayParticipantStatusAlreadyWasMember) GetJoinedChatDate() (value int32) {
|
|
if g == nil {
|
|
return
|
|
}
|
|
return g.JoinedChatDate
|
|
}
|
|
|
|
// GiveawayParticipantStatusAdministrator represents TL type `giveawayParticipantStatusAdministrator#c84b3a75`.
|
|
type GiveawayParticipantStatusAdministrator struct {
|
|
// Identifier of the chat administered by the user
|
|
ChatID int64
|
|
}
|
|
|
|
// GiveawayParticipantStatusAdministratorTypeID is TL type id of GiveawayParticipantStatusAdministrator.
|
|
const GiveawayParticipantStatusAdministratorTypeID = 0xc84b3a75
|
|
|
|
// construct implements constructor of GiveawayParticipantStatusClass.
|
|
func (g GiveawayParticipantStatusAdministrator) construct() GiveawayParticipantStatusClass { return &g }
|
|
|
|
// Ensuring interfaces in compile-time for GiveawayParticipantStatusAdministrator.
|
|
var (
|
|
_ bin.Encoder = &GiveawayParticipantStatusAdministrator{}
|
|
_ bin.Decoder = &GiveawayParticipantStatusAdministrator{}
|
|
_ bin.BareEncoder = &GiveawayParticipantStatusAdministrator{}
|
|
_ bin.BareDecoder = &GiveawayParticipantStatusAdministrator{}
|
|
|
|
_ GiveawayParticipantStatusClass = &GiveawayParticipantStatusAdministrator{}
|
|
)
|
|
|
|
func (g *GiveawayParticipantStatusAdministrator) Zero() bool {
|
|
if g == nil {
|
|
return true
|
|
}
|
|
if !(g.ChatID == 0) {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (g *GiveawayParticipantStatusAdministrator) String() string {
|
|
if g == nil {
|
|
return "GiveawayParticipantStatusAdministrator(nil)"
|
|
}
|
|
type Alias GiveawayParticipantStatusAdministrator
|
|
return fmt.Sprintf("GiveawayParticipantStatusAdministrator%+v", Alias(*g))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*GiveawayParticipantStatusAdministrator) TypeID() uint32 {
|
|
return GiveawayParticipantStatusAdministratorTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*GiveawayParticipantStatusAdministrator) TypeName() string {
|
|
return "giveawayParticipantStatusAdministrator"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (g *GiveawayParticipantStatusAdministrator) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "giveawayParticipantStatusAdministrator",
|
|
ID: GiveawayParticipantStatusAdministratorTypeID,
|
|
}
|
|
if g == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "ChatID",
|
|
SchemaName: "chat_id",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (g *GiveawayParticipantStatusAdministrator) Encode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusAdministrator#c84b3a75 as nil")
|
|
}
|
|
b.PutID(GiveawayParticipantStatusAdministratorTypeID)
|
|
return g.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (g *GiveawayParticipantStatusAdministrator) EncodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusAdministrator#c84b3a75 as nil")
|
|
}
|
|
b.PutInt53(g.ChatID)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (g *GiveawayParticipantStatusAdministrator) Decode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusAdministrator#c84b3a75 to nil")
|
|
}
|
|
if err := b.ConsumeID(GiveawayParticipantStatusAdministratorTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAdministrator#c84b3a75: %w", err)
|
|
}
|
|
return g.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (g *GiveawayParticipantStatusAdministrator) DecodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusAdministrator#c84b3a75 to nil")
|
|
}
|
|
{
|
|
value, err := b.Int53()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAdministrator#c84b3a75: field chat_id: %w", err)
|
|
}
|
|
g.ChatID = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (g *GiveawayParticipantStatusAdministrator) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusAdministrator#c84b3a75 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("giveawayParticipantStatusAdministrator")
|
|
b.Comma()
|
|
b.FieldStart("chat_id")
|
|
b.PutInt53(g.ChatID)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (g *GiveawayParticipantStatusAdministrator) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusAdministrator#c84b3a75 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("giveawayParticipantStatusAdministrator"); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAdministrator#c84b3a75: %w", err)
|
|
}
|
|
case "chat_id":
|
|
value, err := b.Int53()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusAdministrator#c84b3a75: field chat_id: %w", err)
|
|
}
|
|
g.ChatID = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetChatID returns value of ChatID field.
|
|
func (g *GiveawayParticipantStatusAdministrator) GetChatID() (value int64) {
|
|
if g == nil {
|
|
return
|
|
}
|
|
return g.ChatID
|
|
}
|
|
|
|
// GiveawayParticipantStatusDisallowedCountry represents TL type `giveawayParticipantStatusDisallowedCountry#700b645b`.
|
|
type GiveawayParticipantStatusDisallowedCountry struct {
|
|
// A two-letter ISO 3166-1 alpha-2 country code of the user's country
|
|
UserCountryCode string
|
|
}
|
|
|
|
// GiveawayParticipantStatusDisallowedCountryTypeID is TL type id of GiveawayParticipantStatusDisallowedCountry.
|
|
const GiveawayParticipantStatusDisallowedCountryTypeID = 0x700b645b
|
|
|
|
// construct implements constructor of GiveawayParticipantStatusClass.
|
|
func (g GiveawayParticipantStatusDisallowedCountry) construct() GiveawayParticipantStatusClass {
|
|
return &g
|
|
}
|
|
|
|
// Ensuring interfaces in compile-time for GiveawayParticipantStatusDisallowedCountry.
|
|
var (
|
|
_ bin.Encoder = &GiveawayParticipantStatusDisallowedCountry{}
|
|
_ bin.Decoder = &GiveawayParticipantStatusDisallowedCountry{}
|
|
_ bin.BareEncoder = &GiveawayParticipantStatusDisallowedCountry{}
|
|
_ bin.BareDecoder = &GiveawayParticipantStatusDisallowedCountry{}
|
|
|
|
_ GiveawayParticipantStatusClass = &GiveawayParticipantStatusDisallowedCountry{}
|
|
)
|
|
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) Zero() bool {
|
|
if g == nil {
|
|
return true
|
|
}
|
|
if !(g.UserCountryCode == "") {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) String() string {
|
|
if g == nil {
|
|
return "GiveawayParticipantStatusDisallowedCountry(nil)"
|
|
}
|
|
type Alias GiveawayParticipantStatusDisallowedCountry
|
|
return fmt.Sprintf("GiveawayParticipantStatusDisallowedCountry%+v", Alias(*g))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*GiveawayParticipantStatusDisallowedCountry) TypeID() uint32 {
|
|
return GiveawayParticipantStatusDisallowedCountryTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*GiveawayParticipantStatusDisallowedCountry) TypeName() string {
|
|
return "giveawayParticipantStatusDisallowedCountry"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "giveawayParticipantStatusDisallowedCountry",
|
|
ID: GiveawayParticipantStatusDisallowedCountryTypeID,
|
|
}
|
|
if g == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "UserCountryCode",
|
|
SchemaName: "user_country_code",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) Encode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusDisallowedCountry#700b645b as nil")
|
|
}
|
|
b.PutID(GiveawayParticipantStatusDisallowedCountryTypeID)
|
|
return g.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) EncodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusDisallowedCountry#700b645b as nil")
|
|
}
|
|
b.PutString(g.UserCountryCode)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) Decode(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusDisallowedCountry#700b645b to nil")
|
|
}
|
|
if err := b.ConsumeID(GiveawayParticipantStatusDisallowedCountryTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusDisallowedCountry#700b645b: %w", err)
|
|
}
|
|
return g.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) DecodeBare(b *bin.Buffer) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusDisallowedCountry#700b645b to nil")
|
|
}
|
|
{
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusDisallowedCountry#700b645b: field user_country_code: %w", err)
|
|
}
|
|
g.UserCountryCode = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't encode giveawayParticipantStatusDisallowedCountry#700b645b as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("giveawayParticipantStatusDisallowedCountry")
|
|
b.Comma()
|
|
b.FieldStart("user_country_code")
|
|
b.PutString(g.UserCountryCode)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if g == nil {
|
|
return fmt.Errorf("can't decode giveawayParticipantStatusDisallowedCountry#700b645b to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("giveawayParticipantStatusDisallowedCountry"); err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusDisallowedCountry#700b645b: %w", err)
|
|
}
|
|
case "user_country_code":
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode giveawayParticipantStatusDisallowedCountry#700b645b: field user_country_code: %w", err)
|
|
}
|
|
g.UserCountryCode = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetUserCountryCode returns value of UserCountryCode field.
|
|
func (g *GiveawayParticipantStatusDisallowedCountry) GetUserCountryCode() (value string) {
|
|
if g == nil {
|
|
return
|
|
}
|
|
return g.UserCountryCode
|
|
}
|
|
|
|
// GiveawayParticipantStatusClassName is schema name of GiveawayParticipantStatusClass.
|
|
const GiveawayParticipantStatusClassName = "GiveawayParticipantStatus"
|
|
|
|
// GiveawayParticipantStatusClass represents GiveawayParticipantStatus generic type.
|
|
//
|
|
// Example:
|
|
//
|
|
// g, err := tdapi.DecodeGiveawayParticipantStatus(buf)
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// switch v := g.(type) {
|
|
// case *tdapi.GiveawayParticipantStatusEligible: // giveawayParticipantStatusEligible#122ade97
|
|
// case *tdapi.GiveawayParticipantStatusParticipating: // giveawayParticipantStatusParticipating#1d53e36f
|
|
// case *tdapi.GiveawayParticipantStatusAlreadyWasMember: // giveawayParticipantStatusAlreadyWasMember#11f9b5a0
|
|
// case *tdapi.GiveawayParticipantStatusAdministrator: // giveawayParticipantStatusAdministrator#c84b3a75
|
|
// case *tdapi.GiveawayParticipantStatusDisallowedCountry: // giveawayParticipantStatusDisallowedCountry#700b645b
|
|
// default: panic(v)
|
|
// }
|
|
type GiveawayParticipantStatusClass interface {
|
|
bin.Encoder
|
|
bin.Decoder
|
|
bin.BareEncoder
|
|
bin.BareDecoder
|
|
construct() GiveawayParticipantStatusClass
|
|
|
|
// 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
|
|
|
|
EncodeTDLibJSON(b tdjson.Encoder) error
|
|
DecodeTDLibJSON(b tdjson.Decoder) error
|
|
}
|
|
|
|
// DecodeGiveawayParticipantStatus implements binary de-serialization for GiveawayParticipantStatusClass.
|
|
func DecodeGiveawayParticipantStatus(buf *bin.Buffer) (GiveawayParticipantStatusClass, error) {
|
|
id, err := buf.PeekID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case GiveawayParticipantStatusEligibleTypeID:
|
|
// Decoding giveawayParticipantStatusEligible#122ade97.
|
|
v := GiveawayParticipantStatusEligible{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case GiveawayParticipantStatusParticipatingTypeID:
|
|
// Decoding giveawayParticipantStatusParticipating#1d53e36f.
|
|
v := GiveawayParticipantStatusParticipating{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case GiveawayParticipantStatusAlreadyWasMemberTypeID:
|
|
// Decoding giveawayParticipantStatusAlreadyWasMember#11f9b5a0.
|
|
v := GiveawayParticipantStatusAlreadyWasMember{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case GiveawayParticipantStatusAdministratorTypeID:
|
|
// Decoding giveawayParticipantStatusAdministrator#c84b3a75.
|
|
v := GiveawayParticipantStatusAdministrator{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case GiveawayParticipantStatusDisallowedCountryTypeID:
|
|
// Decoding giveawayParticipantStatusDisallowedCountry#700b645b.
|
|
v := GiveawayParticipantStatusDisallowedCountry{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", bin.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// DecodeTDLibJSONGiveawayParticipantStatus implements binary de-serialization for GiveawayParticipantStatusClass.
|
|
func DecodeTDLibJSONGiveawayParticipantStatus(buf tdjson.Decoder) (GiveawayParticipantStatusClass, error) {
|
|
id, err := buf.FindTypeID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case "giveawayParticipantStatusEligible":
|
|
// Decoding giveawayParticipantStatusEligible#122ade97.
|
|
v := GiveawayParticipantStatusEligible{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "giveawayParticipantStatusParticipating":
|
|
// Decoding giveawayParticipantStatusParticipating#1d53e36f.
|
|
v := GiveawayParticipantStatusParticipating{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "giveawayParticipantStatusAlreadyWasMember":
|
|
// Decoding giveawayParticipantStatusAlreadyWasMember#11f9b5a0.
|
|
v := GiveawayParticipantStatusAlreadyWasMember{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "giveawayParticipantStatusAdministrator":
|
|
// Decoding giveawayParticipantStatusAdministrator#c84b3a75.
|
|
v := GiveawayParticipantStatusAdministrator{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "giveawayParticipantStatusDisallowedCountry":
|
|
// Decoding giveawayParticipantStatusDisallowedCountry#700b645b.
|
|
v := GiveawayParticipantStatusDisallowedCountry{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode GiveawayParticipantStatusClass: %w", tdjson.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// GiveawayParticipantStatus boxes the GiveawayParticipantStatusClass providing a helper.
|
|
type GiveawayParticipantStatusBox struct {
|
|
GiveawayParticipantStatus GiveawayParticipantStatusClass
|
|
}
|
|
|
|
// Decode implements bin.Decoder for GiveawayParticipantStatusBox.
|
|
func (b *GiveawayParticipantStatusBox) Decode(buf *bin.Buffer) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode GiveawayParticipantStatusBox to nil")
|
|
}
|
|
v, err := DecodeGiveawayParticipantStatus(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.GiveawayParticipantStatus = v
|
|
return nil
|
|
}
|
|
|
|
// Encode implements bin.Encode for GiveawayParticipantStatusBox.
|
|
func (b *GiveawayParticipantStatusBox) Encode(buf *bin.Buffer) error {
|
|
if b == nil || b.GiveawayParticipantStatus == nil {
|
|
return fmt.Errorf("unable to encode GiveawayParticipantStatusClass as nil")
|
|
}
|
|
return b.GiveawayParticipantStatus.Encode(buf)
|
|
}
|
|
|
|
// DecodeTDLibJSON implements bin.Decoder for GiveawayParticipantStatusBox.
|
|
func (b *GiveawayParticipantStatusBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode GiveawayParticipantStatusBox to nil")
|
|
}
|
|
v, err := DecodeTDLibJSONGiveawayParticipantStatus(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.GiveawayParticipantStatus = v
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements bin.Encode for GiveawayParticipantStatusBox.
|
|
func (b *GiveawayParticipantStatusBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
|
|
if b == nil || b.GiveawayParticipantStatus == nil {
|
|
return fmt.Errorf("unable to encode GiveawayParticipantStatusClass as nil")
|
|
}
|
|
return b.GiveawayParticipantStatus.EncodeTDLibJSON(buf)
|
|
}
|