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

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)
}