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 AiComposeTone struct {
Flags bin .Fields
Creator bool
ID int64
AccessHash int64
Slug string
Title string
EmojiID int64
Prompt string
InstallsCount int
AuthorID int64
ExampleEnglish AiComposeToneExample
}
const AiComposeToneTypeID = 0xcff63ea9
func (a AiComposeTone ) construct () AiComposeToneClass { return &a }
var (
_ bin .Encoder = &AiComposeTone {}
_ bin .Decoder = &AiComposeTone {}
_ bin .BareEncoder = &AiComposeTone {}
_ bin .BareDecoder = &AiComposeTone {}
_ AiComposeToneClass = &AiComposeTone {}
)
func (a *AiComposeTone ) Zero () bool {
if a == nil {
return true
}
if !(a .Flags .Zero ()) {
return false
}
if !(a .Creator == false ) {
return false
}
if !(a .ID == 0 ) {
return false
}
if !(a .AccessHash == 0 ) {
return false
}
if !(a .Slug == "" ) {
return false
}
if !(a .Title == "" ) {
return false
}
if !(a .EmojiID == 0 ) {
return false
}
if !(a .Prompt == "" ) {
return false
}
if !(a .InstallsCount == 0 ) {
return false
}
if !(a .AuthorID == 0 ) {
return false
}
if !(a .ExampleEnglish .Zero ()) {
return false
}
return true
}
func (a *AiComposeTone ) String () string {
if a == nil {
return "AiComposeTone(nil)"
}
type Alias AiComposeTone
return fmt .Sprintf ("AiComposeTone%+v" , Alias (*a ))
}
func (a *AiComposeTone ) FillFrom (from interface {
GetCreator () (value bool )
GetID () (value int64 )
GetAccessHash () (value int64 )
GetSlug () (value string )
GetTitle () (value string )
GetEmojiID () (value int64 , ok bool )
GetPrompt () (value string , ok bool )
GetInstallsCount () (value int , ok bool )
GetAuthorID () (value int64 , ok bool )
GetExampleEnglish () (value AiComposeToneExample , ok bool )
}) {
a .Creator = from .GetCreator ()
a .ID = from .GetID ()
a .AccessHash = from .GetAccessHash ()
a .Slug = from .GetSlug ()
a .Title = from .GetTitle ()
if val , ok := from .GetEmojiID (); ok {
a .EmojiID = val
}
if val , ok := from .GetPrompt (); ok {
a .Prompt = val
}
if val , ok := from .GetInstallsCount (); ok {
a .InstallsCount = val
}
if val , ok := from .GetAuthorID (); ok {
a .AuthorID = val
}
if val , ok := from .GetExampleEnglish (); ok {
a .ExampleEnglish = val
}
}
func (*AiComposeTone ) TypeID () uint32 {
return AiComposeToneTypeID
}
func (*AiComposeTone ) TypeName () string {
return "aiComposeTone"
}
func (a *AiComposeTone ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "aiComposeTone" ,
ID : AiComposeToneTypeID ,
}
if a == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Creator" ,
SchemaName : "creator" ,
Null : !a .Flags .Has (0 ),
},
{
Name : "ID" ,
SchemaName : "id" ,
},
{
Name : "AccessHash" ,
SchemaName : "access_hash" ,
},
{
Name : "Slug" ,
SchemaName : "slug" ,
},
{
Name : "Title" ,
SchemaName : "title" ,
},
{
Name : "EmojiID" ,
SchemaName : "emoji_id" ,
Null : !a .Flags .Has (1 ),
},
{
Name : "Prompt" ,
SchemaName : "prompt" ,
Null : !a .Flags .Has (4 ),
},
{
Name : "InstallsCount" ,
SchemaName : "installs_count" ,
Null : !a .Flags .Has (2 ),
},
{
Name : "AuthorID" ,
SchemaName : "author_id" ,
Null : !a .Flags .Has (3 ),
},
{
Name : "ExampleEnglish" ,
SchemaName : "example_english" ,
Null : !a .Flags .Has (5 ),
},
}
return typ
}
func (a *AiComposeTone ) SetFlags () {
if !(a .Creator == false ) {
a .Flags .Set (0 )
}
if !(a .EmojiID == 0 ) {
a .Flags .Set (1 )
}
if !(a .Prompt == "" ) {
a .Flags .Set (4 )
}
if !(a .InstallsCount == 0 ) {
a .Flags .Set (2 )
}
if !(a .AuthorID == 0 ) {
a .Flags .Set (3 )
}
if !(a .ExampleEnglish .Zero ()) {
a .Flags .Set (5 )
}
}
func (a *AiComposeTone ) Encode (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't encode aiComposeTone#cff63ea9 as nil" )
}
b .PutID (AiComposeToneTypeID )
return a .EncodeBare (b )
}
func (a *AiComposeTone ) EncodeBare (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't encode aiComposeTone#cff63ea9 as nil" )
}
a .SetFlags ()
if err := a .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode aiComposeTone#cff63ea9: field flags: %w" , err )
}
b .PutLong (a .ID )
b .PutLong (a .AccessHash )
b .PutString (a .Slug )
b .PutString (a .Title )
if a .Flags .Has (1 ) {
b .PutLong (a .EmojiID )
}
if a .Flags .Has (4 ) {
b .PutString (a .Prompt )
}
if a .Flags .Has (2 ) {
b .PutInt (a .InstallsCount )
}
if a .Flags .Has (3 ) {
b .PutLong (a .AuthorID )
}
if a .Flags .Has (5 ) {
if err := a .ExampleEnglish .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode aiComposeTone#cff63ea9: field example_english: %w" , err )
}
}
return nil
}
func (a *AiComposeTone ) Decode (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't decode aiComposeTone#cff63ea9 to nil" )
}
if err := b .ConsumeID (AiComposeToneTypeID ); err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: %w" , err )
}
return a .DecodeBare (b )
}
func (a *AiComposeTone ) DecodeBare (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't decode aiComposeTone#cff63ea9 to nil" )
}
{
if err := a .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field flags: %w" , err )
}
}
a .Creator = a .Flags .Has (0 )
{
value , err := b .Long ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field id: %w" , err )
}
a .ID = value
}
{
value , err := b .Long ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field access_hash: %w" , err )
}
a .AccessHash = value
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field slug: %w" , err )
}
a .Slug = value
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field title: %w" , err )
}
a .Title = value
}
if a .Flags .Has (1 ) {
value , err := b .Long ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field emoji_id: %w" , err )
}
a .EmojiID = value
}
if a .Flags .Has (4 ) {
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field prompt: %w" , err )
}
a .Prompt = value
}
if a .Flags .Has (2 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field installs_count: %w" , err )
}
a .InstallsCount = value
}
if a .Flags .Has (3 ) {
value , err := b .Long ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field author_id: %w" , err )
}
a .AuthorID = value
}
if a .Flags .Has (5 ) {
if err := a .ExampleEnglish .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode aiComposeTone#cff63ea9: field example_english: %w" , err )
}
}
return nil
}
func (a *AiComposeTone ) SetCreator (value bool ) {
if value {
a .Flags .Set (0 )
a .Creator = true
} else {
a .Flags .Unset (0 )
a .Creator = false
}
}
func (a *AiComposeTone ) GetCreator () (value bool ) {
if a == nil {
return
}
return a .Flags .Has (0 )
}
func (a *AiComposeTone ) GetID () (value int64 ) {
if a == nil {
return
}
return a .ID
}
func (a *AiComposeTone ) GetAccessHash () (value int64 ) {
if a == nil {
return
}
return a .AccessHash
}
func (a *AiComposeTone ) GetSlug () (value string ) {
if a == nil {
return
}
return a .Slug
}
func (a *AiComposeTone ) GetTitle () (value string ) {
if a == nil {
return
}
return a .Title
}
func (a *AiComposeTone ) SetEmojiID (value int64 ) {
a .Flags .Set (1 )
a .EmojiID = value
}
func (a *AiComposeTone ) GetEmojiID () (value int64 , ok bool ) {
if a == nil {
return
}
if !a .Flags .Has (1 ) {
return value , false
}
return a .EmojiID , true
}
func (a *AiComposeTone ) SetPrompt (value string ) {
a .Flags .Set (4 )
a .Prompt = value
}
func (a *AiComposeTone ) GetPrompt () (value string , ok bool ) {
if a == nil {
return
}
if !a .Flags .Has (4 ) {
return value , false
}
return a .Prompt , true
}
func (a *AiComposeTone ) SetInstallsCount (value int ) {
a .Flags .Set (2 )
a .InstallsCount = value
}
func (a *AiComposeTone ) GetInstallsCount () (value int , ok bool ) {
if a == nil {
return
}
if !a .Flags .Has (2 ) {
return value , false
}
return a .InstallsCount , true
}
func (a *AiComposeTone ) SetAuthorID (value int64 ) {
a .Flags .Set (3 )
a .AuthorID = value
}
func (a *AiComposeTone ) GetAuthorID () (value int64 , ok bool ) {
if a == nil {
return
}
if !a .Flags .Has (3 ) {
return value , false
}
return a .AuthorID , true
}
func (a *AiComposeTone ) SetExampleEnglish (value AiComposeToneExample ) {
a .Flags .Set (5 )
a .ExampleEnglish = value
}
func (a *AiComposeTone ) GetExampleEnglish () (value AiComposeToneExample , ok bool ) {
if a == nil {
return
}
if !a .Flags .Has (5 ) {
return value , false
}
return a .ExampleEnglish , true
}
type AiComposeToneDefault struct {
Tone string
EmojiID int64
Title string
}
const AiComposeToneDefaultTypeID = 0x9bad6414
func (a AiComposeToneDefault ) construct () AiComposeToneClass { return &a }
var (
_ bin .Encoder = &AiComposeToneDefault {}
_ bin .Decoder = &AiComposeToneDefault {}
_ bin .BareEncoder = &AiComposeToneDefault {}
_ bin .BareDecoder = &AiComposeToneDefault {}
_ AiComposeToneClass = &AiComposeToneDefault {}
)
func (a *AiComposeToneDefault ) Zero () bool {
if a == nil {
return true
}
if !(a .Tone == "" ) {
return false
}
if !(a .EmojiID == 0 ) {
return false
}
if !(a .Title == "" ) {
return false
}
return true
}
func (a *AiComposeToneDefault ) String () string {
if a == nil {
return "AiComposeToneDefault(nil)"
}
type Alias AiComposeToneDefault
return fmt .Sprintf ("AiComposeToneDefault%+v" , Alias (*a ))
}
func (a *AiComposeToneDefault ) FillFrom (from interface {
GetTone () (value string )
GetEmojiID () (value int64 )
GetTitle () (value string )
}) {
a .Tone = from .GetTone ()
a .EmojiID = from .GetEmojiID ()
a .Title = from .GetTitle ()
}
func (*AiComposeToneDefault ) TypeID () uint32 {
return AiComposeToneDefaultTypeID
}
func (*AiComposeToneDefault ) TypeName () string {
return "aiComposeToneDefault"
}
func (a *AiComposeToneDefault ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "aiComposeToneDefault" ,
ID : AiComposeToneDefaultTypeID ,
}
if a == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Tone" ,
SchemaName : "tone" ,
},
{
Name : "EmojiID" ,
SchemaName : "emoji_id" ,
},
{
Name : "Title" ,
SchemaName : "title" ,
},
}
return typ
}
func (a *AiComposeToneDefault ) Encode (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't encode aiComposeToneDefault#9bad6414 as nil" )
}
b .PutID (AiComposeToneDefaultTypeID )
return a .EncodeBare (b )
}
func (a *AiComposeToneDefault ) EncodeBare (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't encode aiComposeToneDefault#9bad6414 as nil" )
}
b .PutString (a .Tone )
b .PutLong (a .EmojiID )
b .PutString (a .Title )
return nil
}
func (a *AiComposeToneDefault ) Decode (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't decode aiComposeToneDefault#9bad6414 to nil" )
}
if err := b .ConsumeID (AiComposeToneDefaultTypeID ); err != nil {
return fmt .Errorf ("unable to decode aiComposeToneDefault#9bad6414: %w" , err )
}
return a .DecodeBare (b )
}
func (a *AiComposeToneDefault ) DecodeBare (b *bin .Buffer ) error {
if a == nil {
return fmt .Errorf ("can't decode aiComposeToneDefault#9bad6414 to nil" )
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeToneDefault#9bad6414: field tone: %w" , err )
}
a .Tone = value
}
{
value , err := b .Long ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeToneDefault#9bad6414: field emoji_id: %w" , err )
}
a .EmojiID = value
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode aiComposeToneDefault#9bad6414: field title: %w" , err )
}
a .Title = value
}
return nil
}
func (a *AiComposeToneDefault ) GetTone () (value string ) {
if a == nil {
return
}
return a .Tone
}
func (a *AiComposeToneDefault ) GetEmojiID () (value int64 ) {
if a == nil {
return
}
return a .EmojiID
}
func (a *AiComposeToneDefault ) GetTitle () (value string ) {
if a == nil {
return
}
return a .Title
}
const AiComposeToneClassName = "AiComposeTone"
type AiComposeToneClass interface {
bin .Encoder
bin .Decoder
bin .BareEncoder
bin .BareDecoder
construct () AiComposeToneClass
TypeID () uint32
TypeName () string
String () string
Zero () bool
GetTitle () (value string )
}
func (a *AiComposeToneDefault ) AsInput () *InputAiComposeToneDefault {
value := new (InputAiComposeToneDefault )
value .Tone = a .GetTone ()
return value
}
func (a *AiComposeTone ) AsInputAiComposeToneID () *InputAiComposeToneID {
value := new (InputAiComposeToneID )
value .ID = a .GetID ()
value .AccessHash = a .GetAccessHash ()
return value
}
func (a *AiComposeTone ) AsInputAiComposeToneSlug () *InputAiComposeToneSlug {
value := new (InputAiComposeToneSlug )
value .Slug = a .GetSlug ()
return value
}
func DecodeAiComposeTone (buf *bin .Buffer ) (AiComposeToneClass , error ) {
id , err := buf .PeekID ()
if err != nil {
return nil , err
}
switch id {
case AiComposeToneTypeID :
v := AiComposeTone {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AiComposeToneClass: %w" , err )
}
return &v , nil
case AiComposeToneDefaultTypeID :
v := AiComposeToneDefault {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AiComposeToneClass: %w" , err )
}
return &v , nil
default :
return nil , fmt .Errorf ("unable to decode AiComposeToneClass: %w" , bin .NewUnexpectedID (id ))
}
}
type AiComposeToneBox struct {
AiComposeTone AiComposeToneClass
}
func (b *AiComposeToneBox ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("unable to decode AiComposeToneBox to nil" )
}
v , err := DecodeAiComposeTone (buf )
if err != nil {
return fmt .Errorf ("unable to decode boxed value: %w" , err )
}
b .AiComposeTone = v
return nil
}
func (b *AiComposeToneBox ) Encode (buf *bin .Buffer ) error {
if b == nil || b .AiComposeTone == nil {
return fmt .Errorf ("unable to encode AiComposeToneClass as nil" )
}
return b .AiComposeTone .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 .