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
1206 lines
35 KiB
Go
Generated
1206 lines
35 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{}
|
|
)
|
|
|
|
// InputReportReasonSpam represents TL type `inputReportReasonSpam#58dbcab8`.
|
|
// Report for spam
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonSpam for reference.
|
|
type InputReportReasonSpam struct {
|
|
}
|
|
|
|
// InputReportReasonSpamTypeID is TL type id of InputReportReasonSpam.
|
|
const InputReportReasonSpamTypeID = 0x58dbcab8
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonSpam) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonSpam.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonSpam{}
|
|
_ bin.Decoder = &InputReportReasonSpam{}
|
|
_ bin.BareEncoder = &InputReportReasonSpam{}
|
|
_ bin.BareDecoder = &InputReportReasonSpam{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonSpam{}
|
|
)
|
|
|
|
func (i *InputReportReasonSpam) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonSpam) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonSpam(nil)"
|
|
}
|
|
type Alias InputReportReasonSpam
|
|
return fmt.Sprintf("InputReportReasonSpam%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonSpam) TypeID() uint32 {
|
|
return InputReportReasonSpamTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonSpam) TypeName() string {
|
|
return "inputReportReasonSpam"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonSpam) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonSpam",
|
|
ID: InputReportReasonSpamTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonSpam) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonSpam#58dbcab8 as nil")
|
|
}
|
|
b.PutID(InputReportReasonSpamTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonSpam) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonSpam#58dbcab8 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonSpam) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonSpam#58dbcab8 to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonSpamTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonSpam#58dbcab8: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonSpam) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonSpam#58dbcab8 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonViolence represents TL type `inputReportReasonViolence#1e22c78d`.
|
|
// Report for violence
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonViolence for reference.
|
|
type InputReportReasonViolence struct {
|
|
}
|
|
|
|
// InputReportReasonViolenceTypeID is TL type id of InputReportReasonViolence.
|
|
const InputReportReasonViolenceTypeID = 0x1e22c78d
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonViolence) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonViolence.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonViolence{}
|
|
_ bin.Decoder = &InputReportReasonViolence{}
|
|
_ bin.BareEncoder = &InputReportReasonViolence{}
|
|
_ bin.BareDecoder = &InputReportReasonViolence{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonViolence{}
|
|
)
|
|
|
|
func (i *InputReportReasonViolence) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonViolence) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonViolence(nil)"
|
|
}
|
|
type Alias InputReportReasonViolence
|
|
return fmt.Sprintf("InputReportReasonViolence%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonViolence) TypeID() uint32 {
|
|
return InputReportReasonViolenceTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonViolence) TypeName() string {
|
|
return "inputReportReasonViolence"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonViolence) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonViolence",
|
|
ID: InputReportReasonViolenceTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonViolence) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonViolence#1e22c78d as nil")
|
|
}
|
|
b.PutID(InputReportReasonViolenceTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonViolence) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonViolence#1e22c78d as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonViolence) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonViolence#1e22c78d to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonViolenceTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonViolence#1e22c78d: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonViolence) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonViolence#1e22c78d to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonPornography represents TL type `inputReportReasonPornography#2e59d922`.
|
|
// Report for pornography
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonPornography for reference.
|
|
type InputReportReasonPornography struct {
|
|
}
|
|
|
|
// InputReportReasonPornographyTypeID is TL type id of InputReportReasonPornography.
|
|
const InputReportReasonPornographyTypeID = 0x2e59d922
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonPornography) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonPornography.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonPornography{}
|
|
_ bin.Decoder = &InputReportReasonPornography{}
|
|
_ bin.BareEncoder = &InputReportReasonPornography{}
|
|
_ bin.BareDecoder = &InputReportReasonPornography{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonPornography{}
|
|
)
|
|
|
|
func (i *InputReportReasonPornography) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonPornography) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonPornography(nil)"
|
|
}
|
|
type Alias InputReportReasonPornography
|
|
return fmt.Sprintf("InputReportReasonPornography%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonPornography) TypeID() uint32 {
|
|
return InputReportReasonPornographyTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonPornography) TypeName() string {
|
|
return "inputReportReasonPornography"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonPornography) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonPornography",
|
|
ID: InputReportReasonPornographyTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonPornography) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonPornography#2e59d922 as nil")
|
|
}
|
|
b.PutID(InputReportReasonPornographyTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonPornography) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonPornography#2e59d922 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonPornography) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonPornography#2e59d922 to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonPornographyTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonPornography#2e59d922: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonPornography) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonPornography#2e59d922 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonChildAbuse represents TL type `inputReportReasonChildAbuse#adf44ee3`.
|
|
// Report for child abuse
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonChildAbuse for reference.
|
|
type InputReportReasonChildAbuse struct {
|
|
}
|
|
|
|
// InputReportReasonChildAbuseTypeID is TL type id of InputReportReasonChildAbuse.
|
|
const InputReportReasonChildAbuseTypeID = 0xadf44ee3
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonChildAbuse) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonChildAbuse.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonChildAbuse{}
|
|
_ bin.Decoder = &InputReportReasonChildAbuse{}
|
|
_ bin.BareEncoder = &InputReportReasonChildAbuse{}
|
|
_ bin.BareDecoder = &InputReportReasonChildAbuse{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonChildAbuse{}
|
|
)
|
|
|
|
func (i *InputReportReasonChildAbuse) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonChildAbuse) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonChildAbuse(nil)"
|
|
}
|
|
type Alias InputReportReasonChildAbuse
|
|
return fmt.Sprintf("InputReportReasonChildAbuse%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonChildAbuse) TypeID() uint32 {
|
|
return InputReportReasonChildAbuseTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonChildAbuse) TypeName() string {
|
|
return "inputReportReasonChildAbuse"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonChildAbuse) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonChildAbuse",
|
|
ID: InputReportReasonChildAbuseTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonChildAbuse) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonChildAbuse#adf44ee3 as nil")
|
|
}
|
|
b.PutID(InputReportReasonChildAbuseTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonChildAbuse) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonChildAbuse#adf44ee3 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonChildAbuse) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonChildAbuse#adf44ee3 to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonChildAbuseTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonChildAbuse#adf44ee3: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonChildAbuse) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonChildAbuse#adf44ee3 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonOther represents TL type `inputReportReasonOther#c1e4a2b1`.
|
|
// Other
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonOther for reference.
|
|
type InputReportReasonOther struct {
|
|
}
|
|
|
|
// InputReportReasonOtherTypeID is TL type id of InputReportReasonOther.
|
|
const InputReportReasonOtherTypeID = 0xc1e4a2b1
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonOther) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonOther.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonOther{}
|
|
_ bin.Decoder = &InputReportReasonOther{}
|
|
_ bin.BareEncoder = &InputReportReasonOther{}
|
|
_ bin.BareDecoder = &InputReportReasonOther{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonOther{}
|
|
)
|
|
|
|
func (i *InputReportReasonOther) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonOther) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonOther(nil)"
|
|
}
|
|
type Alias InputReportReasonOther
|
|
return fmt.Sprintf("InputReportReasonOther%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonOther) TypeID() uint32 {
|
|
return InputReportReasonOtherTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonOther) TypeName() string {
|
|
return "inputReportReasonOther"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonOther) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonOther",
|
|
ID: InputReportReasonOtherTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonOther) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonOther#c1e4a2b1 as nil")
|
|
}
|
|
b.PutID(InputReportReasonOtherTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonOther) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonOther#c1e4a2b1 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonOther) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonOther#c1e4a2b1 to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonOtherTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonOther#c1e4a2b1: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonOther) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonOther#c1e4a2b1 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonCopyright represents TL type `inputReportReasonCopyright#9b89f93a`.
|
|
// Report for copyrighted content
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonCopyright for reference.
|
|
type InputReportReasonCopyright struct {
|
|
}
|
|
|
|
// InputReportReasonCopyrightTypeID is TL type id of InputReportReasonCopyright.
|
|
const InputReportReasonCopyrightTypeID = 0x9b89f93a
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonCopyright) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonCopyright.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonCopyright{}
|
|
_ bin.Decoder = &InputReportReasonCopyright{}
|
|
_ bin.BareEncoder = &InputReportReasonCopyright{}
|
|
_ bin.BareDecoder = &InputReportReasonCopyright{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonCopyright{}
|
|
)
|
|
|
|
func (i *InputReportReasonCopyright) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonCopyright) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonCopyright(nil)"
|
|
}
|
|
type Alias InputReportReasonCopyright
|
|
return fmt.Sprintf("InputReportReasonCopyright%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonCopyright) TypeID() uint32 {
|
|
return InputReportReasonCopyrightTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonCopyright) TypeName() string {
|
|
return "inputReportReasonCopyright"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonCopyright) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonCopyright",
|
|
ID: InputReportReasonCopyrightTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonCopyright) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonCopyright#9b89f93a as nil")
|
|
}
|
|
b.PutID(InputReportReasonCopyrightTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonCopyright) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonCopyright#9b89f93a as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonCopyright) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonCopyright#9b89f93a to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonCopyrightTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonCopyright#9b89f93a: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonCopyright) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonCopyright#9b89f93a to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonGeoIrrelevant represents TL type `inputReportReasonGeoIrrelevant#dbd4feed`.
|
|
// Report an irrelevant geogroup
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonGeoIrrelevant for reference.
|
|
type InputReportReasonGeoIrrelevant struct {
|
|
}
|
|
|
|
// InputReportReasonGeoIrrelevantTypeID is TL type id of InputReportReasonGeoIrrelevant.
|
|
const InputReportReasonGeoIrrelevantTypeID = 0xdbd4feed
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonGeoIrrelevant) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonGeoIrrelevant.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonGeoIrrelevant{}
|
|
_ bin.Decoder = &InputReportReasonGeoIrrelevant{}
|
|
_ bin.BareEncoder = &InputReportReasonGeoIrrelevant{}
|
|
_ bin.BareDecoder = &InputReportReasonGeoIrrelevant{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonGeoIrrelevant{}
|
|
)
|
|
|
|
func (i *InputReportReasonGeoIrrelevant) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonGeoIrrelevant) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonGeoIrrelevant(nil)"
|
|
}
|
|
type Alias InputReportReasonGeoIrrelevant
|
|
return fmt.Sprintf("InputReportReasonGeoIrrelevant%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonGeoIrrelevant) TypeID() uint32 {
|
|
return InputReportReasonGeoIrrelevantTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonGeoIrrelevant) TypeName() string {
|
|
return "inputReportReasonGeoIrrelevant"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonGeoIrrelevant) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonGeoIrrelevant",
|
|
ID: InputReportReasonGeoIrrelevantTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonGeoIrrelevant) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonGeoIrrelevant#dbd4feed as nil")
|
|
}
|
|
b.PutID(InputReportReasonGeoIrrelevantTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonGeoIrrelevant) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonGeoIrrelevant#dbd4feed as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonGeoIrrelevant) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonGeoIrrelevant#dbd4feed to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonGeoIrrelevantTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonGeoIrrelevant#dbd4feed: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonGeoIrrelevant) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonGeoIrrelevant#dbd4feed to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonFake represents TL type `inputReportReasonFake#f5ddd6e7`.
|
|
// Report for impersonation
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonFake for reference.
|
|
type InputReportReasonFake struct {
|
|
}
|
|
|
|
// InputReportReasonFakeTypeID is TL type id of InputReportReasonFake.
|
|
const InputReportReasonFakeTypeID = 0xf5ddd6e7
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonFake) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonFake.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonFake{}
|
|
_ bin.Decoder = &InputReportReasonFake{}
|
|
_ bin.BareEncoder = &InputReportReasonFake{}
|
|
_ bin.BareDecoder = &InputReportReasonFake{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonFake{}
|
|
)
|
|
|
|
func (i *InputReportReasonFake) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonFake) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonFake(nil)"
|
|
}
|
|
type Alias InputReportReasonFake
|
|
return fmt.Sprintf("InputReportReasonFake%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonFake) TypeID() uint32 {
|
|
return InputReportReasonFakeTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonFake) TypeName() string {
|
|
return "inputReportReasonFake"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonFake) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonFake",
|
|
ID: InputReportReasonFakeTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonFake) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonFake#f5ddd6e7 as nil")
|
|
}
|
|
b.PutID(InputReportReasonFakeTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonFake) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonFake#f5ddd6e7 as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonFake) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonFake#f5ddd6e7 to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonFakeTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonFake#f5ddd6e7: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonFake) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonFake#f5ddd6e7 to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonIllegalDrugs represents TL type `inputReportReasonIllegalDrugs#a8eb2be`.
|
|
// Report for illegal drugs
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonIllegalDrugs for reference.
|
|
type InputReportReasonIllegalDrugs struct {
|
|
}
|
|
|
|
// InputReportReasonIllegalDrugsTypeID is TL type id of InputReportReasonIllegalDrugs.
|
|
const InputReportReasonIllegalDrugsTypeID = 0xa8eb2be
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonIllegalDrugs) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonIllegalDrugs.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonIllegalDrugs{}
|
|
_ bin.Decoder = &InputReportReasonIllegalDrugs{}
|
|
_ bin.BareEncoder = &InputReportReasonIllegalDrugs{}
|
|
_ bin.BareDecoder = &InputReportReasonIllegalDrugs{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonIllegalDrugs{}
|
|
)
|
|
|
|
func (i *InputReportReasonIllegalDrugs) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonIllegalDrugs) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonIllegalDrugs(nil)"
|
|
}
|
|
type Alias InputReportReasonIllegalDrugs
|
|
return fmt.Sprintf("InputReportReasonIllegalDrugs%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonIllegalDrugs) TypeID() uint32 {
|
|
return InputReportReasonIllegalDrugsTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonIllegalDrugs) TypeName() string {
|
|
return "inputReportReasonIllegalDrugs"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonIllegalDrugs) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonIllegalDrugs",
|
|
ID: InputReportReasonIllegalDrugsTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonIllegalDrugs) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonIllegalDrugs#a8eb2be as nil")
|
|
}
|
|
b.PutID(InputReportReasonIllegalDrugsTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonIllegalDrugs) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonIllegalDrugs#a8eb2be as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonIllegalDrugs) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonIllegalDrugs#a8eb2be to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonIllegalDrugsTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonIllegalDrugs#a8eb2be: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonIllegalDrugs) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonIllegalDrugs#a8eb2be to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// InputReportReasonPersonalDetails represents TL type `inputReportReasonPersonalDetails#9ec7863d`.
|
|
// Report for divulgation of personal details
|
|
//
|
|
// See https://core.telegram.org/constructor/inputReportReasonPersonalDetails for reference.
|
|
type InputReportReasonPersonalDetails struct {
|
|
}
|
|
|
|
// InputReportReasonPersonalDetailsTypeID is TL type id of InputReportReasonPersonalDetails.
|
|
const InputReportReasonPersonalDetailsTypeID = 0x9ec7863d
|
|
|
|
// construct implements constructor of ReportReasonClass.
|
|
func (i InputReportReasonPersonalDetails) construct() ReportReasonClass { return &i }
|
|
|
|
// Ensuring interfaces in compile-time for InputReportReasonPersonalDetails.
|
|
var (
|
|
_ bin.Encoder = &InputReportReasonPersonalDetails{}
|
|
_ bin.Decoder = &InputReportReasonPersonalDetails{}
|
|
_ bin.BareEncoder = &InputReportReasonPersonalDetails{}
|
|
_ bin.BareDecoder = &InputReportReasonPersonalDetails{}
|
|
|
|
_ ReportReasonClass = &InputReportReasonPersonalDetails{}
|
|
)
|
|
|
|
func (i *InputReportReasonPersonalDetails) Zero() bool {
|
|
if i == nil {
|
|
return true
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (i *InputReportReasonPersonalDetails) String() string {
|
|
if i == nil {
|
|
return "InputReportReasonPersonalDetails(nil)"
|
|
}
|
|
type Alias InputReportReasonPersonalDetails
|
|
return fmt.Sprintf("InputReportReasonPersonalDetails%+v", Alias(*i))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*InputReportReasonPersonalDetails) TypeID() uint32 {
|
|
return InputReportReasonPersonalDetailsTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*InputReportReasonPersonalDetails) TypeName() string {
|
|
return "inputReportReasonPersonalDetails"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (i *InputReportReasonPersonalDetails) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "inputReportReasonPersonalDetails",
|
|
ID: InputReportReasonPersonalDetailsTypeID,
|
|
}
|
|
if i == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (i *InputReportReasonPersonalDetails) Encode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonPersonalDetails#9ec7863d as nil")
|
|
}
|
|
b.PutID(InputReportReasonPersonalDetailsTypeID)
|
|
return i.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (i *InputReportReasonPersonalDetails) EncodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't encode inputReportReasonPersonalDetails#9ec7863d as nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (i *InputReportReasonPersonalDetails) Decode(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonPersonalDetails#9ec7863d to nil")
|
|
}
|
|
if err := b.ConsumeID(InputReportReasonPersonalDetailsTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode inputReportReasonPersonalDetails#9ec7863d: %w", err)
|
|
}
|
|
return i.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (i *InputReportReasonPersonalDetails) DecodeBare(b *bin.Buffer) error {
|
|
if i == nil {
|
|
return fmt.Errorf("can't decode inputReportReasonPersonalDetails#9ec7863d to nil")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ReportReasonClassName is schema name of ReportReasonClass.
|
|
const ReportReasonClassName = "ReportReason"
|
|
|
|
// ReportReasonClass represents ReportReason generic type.
|
|
//
|
|
// See https://core.telegram.org/type/ReportReason for reference.
|
|
//
|
|
// Example:
|
|
//
|
|
// g, err := tg.DecodeReportReason(buf)
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// switch v := g.(type) {
|
|
// case *tg.InputReportReasonSpam: // inputReportReasonSpam#58dbcab8
|
|
// case *tg.InputReportReasonViolence: // inputReportReasonViolence#1e22c78d
|
|
// case *tg.InputReportReasonPornography: // inputReportReasonPornography#2e59d922
|
|
// case *tg.InputReportReasonChildAbuse: // inputReportReasonChildAbuse#adf44ee3
|
|
// case *tg.InputReportReasonOther: // inputReportReasonOther#c1e4a2b1
|
|
// case *tg.InputReportReasonCopyright: // inputReportReasonCopyright#9b89f93a
|
|
// case *tg.InputReportReasonGeoIrrelevant: // inputReportReasonGeoIrrelevant#dbd4feed
|
|
// case *tg.InputReportReasonFake: // inputReportReasonFake#f5ddd6e7
|
|
// case *tg.InputReportReasonIllegalDrugs: // inputReportReasonIllegalDrugs#a8eb2be
|
|
// case *tg.InputReportReasonPersonalDetails: // inputReportReasonPersonalDetails#9ec7863d
|
|
// default: panic(v)
|
|
// }
|
|
type ReportReasonClass interface {
|
|
bin.Encoder
|
|
bin.Decoder
|
|
bin.BareEncoder
|
|
bin.BareDecoder
|
|
construct() ReportReasonClass
|
|
|
|
// 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
|
|
}
|
|
|
|
// DecodeReportReason implements binary de-serialization for ReportReasonClass.
|
|
func DecodeReportReason(buf *bin.Buffer) (ReportReasonClass, error) {
|
|
id, err := buf.PeekID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case InputReportReasonSpamTypeID:
|
|
// Decoding inputReportReasonSpam#58dbcab8.
|
|
v := InputReportReasonSpam{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonViolenceTypeID:
|
|
// Decoding inputReportReasonViolence#1e22c78d.
|
|
v := InputReportReasonViolence{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonPornographyTypeID:
|
|
// Decoding inputReportReasonPornography#2e59d922.
|
|
v := InputReportReasonPornography{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonChildAbuseTypeID:
|
|
// Decoding inputReportReasonChildAbuse#adf44ee3.
|
|
v := InputReportReasonChildAbuse{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonOtherTypeID:
|
|
// Decoding inputReportReasonOther#c1e4a2b1.
|
|
v := InputReportReasonOther{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonCopyrightTypeID:
|
|
// Decoding inputReportReasonCopyright#9b89f93a.
|
|
v := InputReportReasonCopyright{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonGeoIrrelevantTypeID:
|
|
// Decoding inputReportReasonGeoIrrelevant#dbd4feed.
|
|
v := InputReportReasonGeoIrrelevant{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonFakeTypeID:
|
|
// Decoding inputReportReasonFake#f5ddd6e7.
|
|
v := InputReportReasonFake{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonIllegalDrugsTypeID:
|
|
// Decoding inputReportReasonIllegalDrugs#a8eb2be.
|
|
v := InputReportReasonIllegalDrugs{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case InputReportReasonPersonalDetailsTypeID:
|
|
// Decoding inputReportReasonPersonalDetails#9ec7863d.
|
|
v := InputReportReasonPersonalDetails{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode ReportReasonClass: %w", bin.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// ReportReason boxes the ReportReasonClass providing a helper.
|
|
type ReportReasonBox struct {
|
|
ReportReason ReportReasonClass
|
|
}
|
|
|
|
// Decode implements bin.Decoder for ReportReasonBox.
|
|
func (b *ReportReasonBox) Decode(buf *bin.Buffer) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode ReportReasonBox to nil")
|
|
}
|
|
v, err := DecodeReportReason(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.ReportReason = v
|
|
return nil
|
|
}
|
|
|
|
// Encode implements bin.Encode for ReportReasonBox.
|
|
func (b *ReportReasonBox) Encode(buf *bin.Buffer) error {
|
|
if b == nil || b.ReportReason == nil {
|
|
return fmt.Errorf("unable to encode ReportReasonClass as nil")
|
|
}
|
|
return b.ReportReason.Encode(buf)
|
|
}
|