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 DisallowedGiftsSettings struct {
Flags bin .Fields
DisallowUnlimitedStargifts bool
DisallowLimitedStargifts bool
DisallowUniqueStargifts bool
DisallowPremiumGifts bool
DisallowStargiftsFromChannels bool
}
const DisallowedGiftsSettingsTypeID = 0x71f276c4
var (
_ bin .Encoder = &DisallowedGiftsSettings {}
_ bin .Decoder = &DisallowedGiftsSettings {}
_ bin .BareEncoder = &DisallowedGiftsSettings {}
_ bin .BareDecoder = &DisallowedGiftsSettings {}
)
func (d *DisallowedGiftsSettings ) Zero () bool {
if d == nil {
return true
}
if !(d .Flags .Zero ()) {
return false
}
if !(d .DisallowUnlimitedStargifts == false ) {
return false
}
if !(d .DisallowLimitedStargifts == false ) {
return false
}
if !(d .DisallowUniqueStargifts == false ) {
return false
}
if !(d .DisallowPremiumGifts == false ) {
return false
}
if !(d .DisallowStargiftsFromChannels == false ) {
return false
}
return true
}
func (d *DisallowedGiftsSettings ) String () string {
if d == nil {
return "DisallowedGiftsSettings(nil)"
}
type Alias DisallowedGiftsSettings
return fmt .Sprintf ("DisallowedGiftsSettings%+v" , Alias (*d ))
}
func (d *DisallowedGiftsSettings ) FillFrom (from interface {
GetDisallowUnlimitedStargifts () (value bool )
GetDisallowLimitedStargifts () (value bool )
GetDisallowUniqueStargifts () (value bool )
GetDisallowPremiumGifts () (value bool )
GetDisallowStargiftsFromChannels () (value bool )
}) {
d .DisallowUnlimitedStargifts = from .GetDisallowUnlimitedStargifts ()
d .DisallowLimitedStargifts = from .GetDisallowLimitedStargifts ()
d .DisallowUniqueStargifts = from .GetDisallowUniqueStargifts ()
d .DisallowPremiumGifts = from .GetDisallowPremiumGifts ()
d .DisallowStargiftsFromChannels = from .GetDisallowStargiftsFromChannels ()
}
func (*DisallowedGiftsSettings ) TypeID () uint32 {
return DisallowedGiftsSettingsTypeID
}
func (*DisallowedGiftsSettings ) TypeName () string {
return "disallowedGiftsSettings"
}
func (d *DisallowedGiftsSettings ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "disallowedGiftsSettings" ,
ID : DisallowedGiftsSettingsTypeID ,
}
if d == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "DisallowUnlimitedStargifts" ,
SchemaName : "disallow_unlimited_stargifts" ,
Null : !d .Flags .Has (0 ),
},
{
Name : "DisallowLimitedStargifts" ,
SchemaName : "disallow_limited_stargifts" ,
Null : !d .Flags .Has (1 ),
},
{
Name : "DisallowUniqueStargifts" ,
SchemaName : "disallow_unique_stargifts" ,
Null : !d .Flags .Has (2 ),
},
{
Name : "DisallowPremiumGifts" ,
SchemaName : "disallow_premium_gifts" ,
Null : !d .Flags .Has (3 ),
},
{
Name : "DisallowStargiftsFromChannels" ,
SchemaName : "disallow_stargifts_from_channels" ,
Null : !d .Flags .Has (4 ),
},
}
return typ
}
func (d *DisallowedGiftsSettings ) SetFlags () {
if !(d .DisallowUnlimitedStargifts == false ) {
d .Flags .Set (0 )
}
if !(d .DisallowLimitedStargifts == false ) {
d .Flags .Set (1 )
}
if !(d .DisallowUniqueStargifts == false ) {
d .Flags .Set (2 )
}
if !(d .DisallowPremiumGifts == false ) {
d .Flags .Set (3 )
}
if !(d .DisallowStargiftsFromChannels == false ) {
d .Flags .Set (4 )
}
}
func (d *DisallowedGiftsSettings ) Encode (b *bin .Buffer ) error {
if d == nil {
return fmt .Errorf ("can't encode disallowedGiftsSettings#71f276c4 as nil" )
}
b .PutID (DisallowedGiftsSettingsTypeID )
return d .EncodeBare (b )
}
func (d *DisallowedGiftsSettings ) EncodeBare (b *bin .Buffer ) error {
if d == nil {
return fmt .Errorf ("can't encode disallowedGiftsSettings#71f276c4 as nil" )
}
d .SetFlags ()
if err := d .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode disallowedGiftsSettings#71f276c4: field flags: %w" , err )
}
return nil
}
func (d *DisallowedGiftsSettings ) Decode (b *bin .Buffer ) error {
if d == nil {
return fmt .Errorf ("can't decode disallowedGiftsSettings#71f276c4 to nil" )
}
if err := b .ConsumeID (DisallowedGiftsSettingsTypeID ); err != nil {
return fmt .Errorf ("unable to decode disallowedGiftsSettings#71f276c4: %w" , err )
}
return d .DecodeBare (b )
}
func (d *DisallowedGiftsSettings ) DecodeBare (b *bin .Buffer ) error {
if d == nil {
return fmt .Errorf ("can't decode disallowedGiftsSettings#71f276c4 to nil" )
}
{
if err := d .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode disallowedGiftsSettings#71f276c4: field flags: %w" , err )
}
}
d .DisallowUnlimitedStargifts = d .Flags .Has (0 )
d .DisallowLimitedStargifts = d .Flags .Has (1 )
d .DisallowUniqueStargifts = d .Flags .Has (2 )
d .DisallowPremiumGifts = d .Flags .Has (3 )
d .DisallowStargiftsFromChannels = d .Flags .Has (4 )
return nil
}
func (d *DisallowedGiftsSettings ) SetDisallowUnlimitedStargifts (value bool ) {
if value {
d .Flags .Set (0 )
d .DisallowUnlimitedStargifts = true
} else {
d .Flags .Unset (0 )
d .DisallowUnlimitedStargifts = false
}
}
func (d *DisallowedGiftsSettings ) GetDisallowUnlimitedStargifts () (value bool ) {
if d == nil {
return
}
return d .Flags .Has (0 )
}
func (d *DisallowedGiftsSettings ) SetDisallowLimitedStargifts (value bool ) {
if value {
d .Flags .Set (1 )
d .DisallowLimitedStargifts = true
} else {
d .Flags .Unset (1 )
d .DisallowLimitedStargifts = false
}
}
func (d *DisallowedGiftsSettings ) GetDisallowLimitedStargifts () (value bool ) {
if d == nil {
return
}
return d .Flags .Has (1 )
}
func (d *DisallowedGiftsSettings ) SetDisallowUniqueStargifts (value bool ) {
if value {
d .Flags .Set (2 )
d .DisallowUniqueStargifts = true
} else {
d .Flags .Unset (2 )
d .DisallowUniqueStargifts = false
}
}
func (d *DisallowedGiftsSettings ) GetDisallowUniqueStargifts () (value bool ) {
if d == nil {
return
}
return d .Flags .Has (2 )
}
func (d *DisallowedGiftsSettings ) SetDisallowPremiumGifts (value bool ) {
if value {
d .Flags .Set (3 )
d .DisallowPremiumGifts = true
} else {
d .Flags .Unset (3 )
d .DisallowPremiumGifts = false
}
}
func (d *DisallowedGiftsSettings ) GetDisallowPremiumGifts () (value bool ) {
if d == nil {
return
}
return d .Flags .Has (3 )
}
func (d *DisallowedGiftsSettings ) SetDisallowStargiftsFromChannels (value bool ) {
if value {
d .Flags .Set (4 )
d .DisallowStargiftsFromChannels = true
} else {
d .Flags .Unset (4 )
d .DisallowStargiftsFromChannels = false
}
}
func (d *DisallowedGiftsSettings ) GetDisallowStargiftsFromChannels () (value bool ) {
if d == nil {
return
}
return d .Flags .Has (4 )
}
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 .