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 StickersReplaceStickerRequest struct {
Sticker InputDocumentClass
NewSticker InputStickerSetItem
}
const StickersReplaceStickerRequestTypeID = 0x4696459a
var (
_ bin .Encoder = &StickersReplaceStickerRequest {}
_ bin .Decoder = &StickersReplaceStickerRequest {}
_ bin .BareEncoder = &StickersReplaceStickerRequest {}
_ bin .BareDecoder = &StickersReplaceStickerRequest {}
)
func (r *StickersReplaceStickerRequest ) Zero () bool {
if r == nil {
return true
}
if !(r .Sticker == nil ) {
return false
}
if !(r .NewSticker .Zero ()) {
return false
}
return true
}
func (r *StickersReplaceStickerRequest ) String () string {
if r == nil {
return "StickersReplaceStickerRequest(nil)"
}
type Alias StickersReplaceStickerRequest
return fmt .Sprintf ("StickersReplaceStickerRequest%+v" , Alias (*r ))
}
func (r *StickersReplaceStickerRequest ) FillFrom (from interface {
GetSticker () (value InputDocumentClass )
GetNewSticker () (value InputStickerSetItem )
}) {
r .Sticker = from .GetSticker ()
r .NewSticker = from .GetNewSticker ()
}
func (*StickersReplaceStickerRequest ) TypeID () uint32 {
return StickersReplaceStickerRequestTypeID
}
func (*StickersReplaceStickerRequest ) TypeName () string {
return "stickers.replaceSticker"
}
func (r *StickersReplaceStickerRequest ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "stickers.replaceSticker" ,
ID : StickersReplaceStickerRequestTypeID ,
}
if r == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Sticker" ,
SchemaName : "sticker" ,
},
{
Name : "NewSticker" ,
SchemaName : "new_sticker" ,
},
}
return typ
}
func (r *StickersReplaceStickerRequest ) Encode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode stickers.replaceSticker#4696459a as nil" )
}
b .PutID (StickersReplaceStickerRequestTypeID )
return r .EncodeBare (b )
}
func (r *StickersReplaceStickerRequest ) EncodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't encode stickers.replaceSticker#4696459a as nil" )
}
if r .Sticker == nil {
return fmt .Errorf ("unable to encode stickers.replaceSticker#4696459a: field sticker is nil" )
}
if err := r .Sticker .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode stickers.replaceSticker#4696459a: field sticker: %w" , err )
}
if err := r .NewSticker .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode stickers.replaceSticker#4696459a: field new_sticker: %w" , err )
}
return nil
}
func (r *StickersReplaceStickerRequest ) Decode (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode stickers.replaceSticker#4696459a to nil" )
}
if err := b .ConsumeID (StickersReplaceStickerRequestTypeID ); err != nil {
return fmt .Errorf ("unable to decode stickers.replaceSticker#4696459a: %w" , err )
}
return r .DecodeBare (b )
}
func (r *StickersReplaceStickerRequest ) DecodeBare (b *bin .Buffer ) error {
if r == nil {
return fmt .Errorf ("can't decode stickers.replaceSticker#4696459a to nil" )
}
{
value , err := DecodeInputDocument (b )
if err != nil {
return fmt .Errorf ("unable to decode stickers.replaceSticker#4696459a: field sticker: %w" , err )
}
r .Sticker = value
}
{
if err := r .NewSticker .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode stickers.replaceSticker#4696459a: field new_sticker: %w" , err )
}
}
return nil
}
func (r *StickersReplaceStickerRequest ) GetSticker () (value InputDocumentClass ) {
if r == nil {
return
}
return r .Sticker
}
func (r *StickersReplaceStickerRequest ) GetNewSticker () (value InputStickerSetItem ) {
if r == nil {
return
}
return r .NewSticker
}
func (r *StickersReplaceStickerRequest ) GetStickerAsNotEmpty () (*InputDocument , bool ) {
return r .Sticker .AsNotEmpty ()
}
func (c *Client ) StickersReplaceSticker (ctx context .Context , request *StickersReplaceStickerRequest ) (MessagesStickerSetClass , error ) {
var result MessagesStickerSetBox
if err := c .rpc .Invoke (ctx , request , &result ); err != nil {
return nil , err
}
return result .StickerSet , nil
}
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 .