package tg
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/tgerr"
)
var (
_ = bin .Buffer {}
_ = context .Background ()
_ = fmt .Stringer (nil )
_ = strings .Builder {}
_ = errors .Is
_ = multierr .AppendInto
_ = sort .Ints
_ = tdp .Format
_ = tgerr .Error {}
_ = tdjson .Encoder {}
)
type BusinessAwayMessageScheduleAlways struct {
}
const BusinessAwayMessageScheduleAlwaysTypeID = 0xc9b9e2b9
func (b BusinessAwayMessageScheduleAlways ) construct () BusinessAwayMessageScheduleClass { return &b }
var (
_ bin .Encoder = &BusinessAwayMessageScheduleAlways {}
_ bin .Decoder = &BusinessAwayMessageScheduleAlways {}
_ bin .BareEncoder = &BusinessAwayMessageScheduleAlways {}
_ bin .BareDecoder = &BusinessAwayMessageScheduleAlways {}
_ BusinessAwayMessageScheduleClass = &BusinessAwayMessageScheduleAlways {}
)
func (b *BusinessAwayMessageScheduleAlways ) Zero () bool {
if b == nil {
return true
}
return true
}
func (b *BusinessAwayMessageScheduleAlways ) String () string {
if b == nil {
return "BusinessAwayMessageScheduleAlways(nil)"
}
type Alias BusinessAwayMessageScheduleAlways
return fmt .Sprintf ("BusinessAwayMessageScheduleAlways%+v" , Alias (*b ))
}
func (*BusinessAwayMessageScheduleAlways ) TypeID () uint32 {
return BusinessAwayMessageScheduleAlwaysTypeID
}
func (*BusinessAwayMessageScheduleAlways ) TypeName () string {
return "businessAwayMessageScheduleAlways"
}
func (b *BusinessAwayMessageScheduleAlways ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "businessAwayMessageScheduleAlways" ,
ID : BusinessAwayMessageScheduleAlwaysTypeID ,
}
if b == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {}
return typ
}
func (b *BusinessAwayMessageScheduleAlways ) Encode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't encode businessAwayMessageScheduleAlways#c9b9e2b9 as nil" )
}
buf .PutID (BusinessAwayMessageScheduleAlwaysTypeID )
return b .EncodeBare (buf )
}
func (b *BusinessAwayMessageScheduleAlways ) EncodeBare (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't encode businessAwayMessageScheduleAlways#c9b9e2b9 as nil" )
}
return nil
}
func (b *BusinessAwayMessageScheduleAlways ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't decode businessAwayMessageScheduleAlways#c9b9e2b9 to nil" )
}
if err := buf .ConsumeID (BusinessAwayMessageScheduleAlwaysTypeID ); err != nil {
return fmt .Errorf ("unable to decode businessAwayMessageScheduleAlways#c9b9e2b9: %w" , err )
}
return b .DecodeBare (buf )
}
func (b *BusinessAwayMessageScheduleAlways ) DecodeBare (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't decode businessAwayMessageScheduleAlways#c9b9e2b9 to nil" )
}
return nil
}
type BusinessAwayMessageScheduleOutsideWorkHours struct {
}
const BusinessAwayMessageScheduleOutsideWorkHoursTypeID = 0xc3f2f501
func (b BusinessAwayMessageScheduleOutsideWorkHours ) construct () BusinessAwayMessageScheduleClass {
return &b
}
var (
_ bin .Encoder = &BusinessAwayMessageScheduleOutsideWorkHours {}
_ bin .Decoder = &BusinessAwayMessageScheduleOutsideWorkHours {}
_ bin .BareEncoder = &BusinessAwayMessageScheduleOutsideWorkHours {}
_ bin .BareDecoder = &BusinessAwayMessageScheduleOutsideWorkHours {}
_ BusinessAwayMessageScheduleClass = &BusinessAwayMessageScheduleOutsideWorkHours {}
)
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) Zero () bool {
if b == nil {
return true
}
return true
}
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) String () string {
if b == nil {
return "BusinessAwayMessageScheduleOutsideWorkHours(nil)"
}
type Alias BusinessAwayMessageScheduleOutsideWorkHours
return fmt .Sprintf ("BusinessAwayMessageScheduleOutsideWorkHours%+v" , Alias (*b ))
}
func (*BusinessAwayMessageScheduleOutsideWorkHours ) TypeID () uint32 {
return BusinessAwayMessageScheduleOutsideWorkHoursTypeID
}
func (*BusinessAwayMessageScheduleOutsideWorkHours ) TypeName () string {
return "businessAwayMessageScheduleOutsideWorkHours"
}
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "businessAwayMessageScheduleOutsideWorkHours" ,
ID : BusinessAwayMessageScheduleOutsideWorkHoursTypeID ,
}
if b == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {}
return typ
}
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) Encode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't encode businessAwayMessageScheduleOutsideWorkHours#c3f2f501 as nil" )
}
buf .PutID (BusinessAwayMessageScheduleOutsideWorkHoursTypeID )
return b .EncodeBare (buf )
}
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) EncodeBare (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't encode businessAwayMessageScheduleOutsideWorkHours#c3f2f501 as nil" )
}
return nil
}
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't decode businessAwayMessageScheduleOutsideWorkHours#c3f2f501 to nil" )
}
if err := buf .ConsumeID (BusinessAwayMessageScheduleOutsideWorkHoursTypeID ); err != nil {
return fmt .Errorf ("unable to decode businessAwayMessageScheduleOutsideWorkHours#c3f2f501: %w" , err )
}
return b .DecodeBare (buf )
}
func (b *BusinessAwayMessageScheduleOutsideWorkHours ) DecodeBare (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't decode businessAwayMessageScheduleOutsideWorkHours#c3f2f501 to nil" )
}
return nil
}
type BusinessAwayMessageScheduleCustom struct {
StartDate int
EndDate int
}
const BusinessAwayMessageScheduleCustomTypeID = 0xcc4d9ecc
func (b BusinessAwayMessageScheduleCustom ) construct () BusinessAwayMessageScheduleClass { return &b }
var (
_ bin .Encoder = &BusinessAwayMessageScheduleCustom {}
_ bin .Decoder = &BusinessAwayMessageScheduleCustom {}
_ bin .BareEncoder = &BusinessAwayMessageScheduleCustom {}
_ bin .BareDecoder = &BusinessAwayMessageScheduleCustom {}
_ BusinessAwayMessageScheduleClass = &BusinessAwayMessageScheduleCustom {}
)
func (b *BusinessAwayMessageScheduleCustom ) Zero () bool {
if b == nil {
return true
}
if !(b .StartDate == 0 ) {
return false
}
if !(b .EndDate == 0 ) {
return false
}
return true
}
func (b *BusinessAwayMessageScheduleCustom ) String () string {
if b == nil {
return "BusinessAwayMessageScheduleCustom(nil)"
}
type Alias BusinessAwayMessageScheduleCustom
return fmt .Sprintf ("BusinessAwayMessageScheduleCustom%+v" , Alias (*b ))
}
func (b *BusinessAwayMessageScheduleCustom ) FillFrom (from interface {
GetStartDate () (value int )
GetEndDate () (value int )
}) {
b .StartDate = from .GetStartDate ()
b .EndDate = from .GetEndDate ()
}
func (*BusinessAwayMessageScheduleCustom ) TypeID () uint32 {
return BusinessAwayMessageScheduleCustomTypeID
}
func (*BusinessAwayMessageScheduleCustom ) TypeName () string {
return "businessAwayMessageScheduleCustom"
}
func (b *BusinessAwayMessageScheduleCustom ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "businessAwayMessageScheduleCustom" ,
ID : BusinessAwayMessageScheduleCustomTypeID ,
}
if b == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "StartDate" ,
SchemaName : "start_date" ,
},
{
Name : "EndDate" ,
SchemaName : "end_date" ,
},
}
return typ
}
func (b *BusinessAwayMessageScheduleCustom ) Encode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't encode businessAwayMessageScheduleCustom#cc4d9ecc as nil" )
}
buf .PutID (BusinessAwayMessageScheduleCustomTypeID )
return b .EncodeBare (buf )
}
func (b *BusinessAwayMessageScheduleCustom ) EncodeBare (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't encode businessAwayMessageScheduleCustom#cc4d9ecc as nil" )
}
buf .PutInt (b .StartDate )
buf .PutInt (b .EndDate )
return nil
}
func (b *BusinessAwayMessageScheduleCustom ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't decode businessAwayMessageScheduleCustom#cc4d9ecc to nil" )
}
if err := buf .ConsumeID (BusinessAwayMessageScheduleCustomTypeID ); err != nil {
return fmt .Errorf ("unable to decode businessAwayMessageScheduleCustom#cc4d9ecc: %w" , err )
}
return b .DecodeBare (buf )
}
func (b *BusinessAwayMessageScheduleCustom ) DecodeBare (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("can't decode businessAwayMessageScheduleCustom#cc4d9ecc to nil" )
}
{
value , err := buf .Int ()
if err != nil {
return fmt .Errorf ("unable to decode businessAwayMessageScheduleCustom#cc4d9ecc: field start_date: %w" , err )
}
b .StartDate = value
}
{
value , err := buf .Int ()
if err != nil {
return fmt .Errorf ("unable to decode businessAwayMessageScheduleCustom#cc4d9ecc: field end_date: %w" , err )
}
b .EndDate = value
}
return nil
}
func (b *BusinessAwayMessageScheduleCustom ) GetStartDate () (value int ) {
if b == nil {
return
}
return b .StartDate
}
func (b *BusinessAwayMessageScheduleCustom ) GetEndDate () (value int ) {
if b == nil {
return
}
return b .EndDate
}
const BusinessAwayMessageScheduleClassName = "BusinessAwayMessageSchedule"
type BusinessAwayMessageScheduleClass interface {
bin .Encoder
bin .Decoder
bin .BareEncoder
bin .BareDecoder
construct () BusinessAwayMessageScheduleClass
TypeID () uint32
TypeName () string
String () string
Zero () bool
}
func DecodeBusinessAwayMessageSchedule (buf *bin .Buffer ) (BusinessAwayMessageScheduleClass , error ) {
id , err := buf .PeekID ()
if err != nil {
return nil , err
}
switch id {
case BusinessAwayMessageScheduleAlwaysTypeID :
v := BusinessAwayMessageScheduleAlways {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode BusinessAwayMessageScheduleClass: %w" , err )
}
return &v , nil
case BusinessAwayMessageScheduleOutsideWorkHoursTypeID :
v := BusinessAwayMessageScheduleOutsideWorkHours {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode BusinessAwayMessageScheduleClass: %w" , err )
}
return &v , nil
case BusinessAwayMessageScheduleCustomTypeID :
v := BusinessAwayMessageScheduleCustom {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode BusinessAwayMessageScheduleClass: %w" , err )
}
return &v , nil
default :
return nil , fmt .Errorf ("unable to decode BusinessAwayMessageScheduleClass: %w" , bin .NewUnexpectedID (id ))
}
}
type BusinessAwayMessageScheduleBox struct {
BusinessAwayMessageSchedule BusinessAwayMessageScheduleClass
}
func (b *BusinessAwayMessageScheduleBox ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("unable to decode BusinessAwayMessageScheduleBox to nil" )
}
v , err := DecodeBusinessAwayMessageSchedule (buf )
if err != nil {
return fmt .Errorf ("unable to decode boxed value: %w" , err )
}
b .BusinessAwayMessageSchedule = v
return nil
}
func (b *BusinessAwayMessageScheduleBox ) Encode (buf *bin .Buffer ) error {
if b == nil || b .BusinessAwayMessageSchedule == nil {
return fmt .Errorf ("unable to encode BusinessAwayMessageScheduleClass as nil" )
}
return b .BusinessAwayMessageSchedule .Encode (buf )
}
The pages are generated with Golds v0.8.4 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .