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 StarsTransaction struct {
Flags bin .Fields
Refund bool
Pending bool
Failed bool
Gift bool
Reaction bool
StargiftUpgrade bool
BusinessTransfer bool
StargiftResale bool
PostsSearch bool
StargiftPrepaidUpgrade bool
StargiftDropOriginalDetails bool
PhonegroupMessage bool
StargiftAuctionBid bool
Offer bool
ID string
Amount StarsAmountClass
Date int
Peer StarsTransactionPeerClass
Title string
Description string
Photo WebDocumentClass
TransactionDate int
TransactionURL string
BotPayload []byte
MsgID int
ExtendedMedia []MessageMediaClass
SubscriptionPeriod int
GiveawayPostID int
Stargift StarGiftClass
FloodskipNumber int
StarrefCommissionPermille int
StarrefPeer PeerClass
StarrefAmount StarsAmountClass
PaidMessages int
PremiumGiftMonths int
AdsProceedsFromDate int
AdsProceedsToDate int
}
const StarsTransactionTypeID = 0x13659eb0
var (
_ bin .Encoder = &StarsTransaction {}
_ bin .Decoder = &StarsTransaction {}
_ bin .BareEncoder = &StarsTransaction {}
_ bin .BareDecoder = &StarsTransaction {}
)
func (s *StarsTransaction ) Zero () bool {
if s == nil {
return true
}
if !(s .Flags .Zero ()) {
return false
}
if !(s .Refund == false ) {
return false
}
if !(s .Pending == false ) {
return false
}
if !(s .Failed == false ) {
return false
}
if !(s .Gift == false ) {
return false
}
if !(s .Reaction == false ) {
return false
}
if !(s .StargiftUpgrade == false ) {
return false
}
if !(s .BusinessTransfer == false ) {
return false
}
if !(s .StargiftResale == false ) {
return false
}
if !(s .PostsSearch == false ) {
return false
}
if !(s .StargiftPrepaidUpgrade == false ) {
return false
}
if !(s .StargiftDropOriginalDetails == false ) {
return false
}
if !(s .PhonegroupMessage == false ) {
return false
}
if !(s .StargiftAuctionBid == false ) {
return false
}
if !(s .Offer == false ) {
return false
}
if !(s .ID == "" ) {
return false
}
if !(s .Amount == nil ) {
return false
}
if !(s .Date == 0 ) {
return false
}
if !(s .Peer == nil ) {
return false
}
if !(s .Title == "" ) {
return false
}
if !(s .Description == "" ) {
return false
}
if !(s .Photo == nil ) {
return false
}
if !(s .TransactionDate == 0 ) {
return false
}
if !(s .TransactionURL == "" ) {
return false
}
if !(s .BotPayload == nil ) {
return false
}
if !(s .MsgID == 0 ) {
return false
}
if !(s .ExtendedMedia == nil ) {
return false
}
if !(s .SubscriptionPeriod == 0 ) {
return false
}
if !(s .GiveawayPostID == 0 ) {
return false
}
if !(s .Stargift == nil ) {
return false
}
if !(s .FloodskipNumber == 0 ) {
return false
}
if !(s .StarrefCommissionPermille == 0 ) {
return false
}
if !(s .StarrefPeer == nil ) {
return false
}
if !(s .StarrefAmount == nil ) {
return false
}
if !(s .PaidMessages == 0 ) {
return false
}
if !(s .PremiumGiftMonths == 0 ) {
return false
}
if !(s .AdsProceedsFromDate == 0 ) {
return false
}
if !(s .AdsProceedsToDate == 0 ) {
return false
}
return true
}
func (s *StarsTransaction ) String () string {
if s == nil {
return "StarsTransaction(nil)"
}
type Alias StarsTransaction
return fmt .Sprintf ("StarsTransaction%+v" , Alias (*s ))
}
func (s *StarsTransaction ) FillFrom (from interface {
GetRefund () (value bool )
GetPending () (value bool )
GetFailed () (value bool )
GetGift () (value bool )
GetReaction () (value bool )
GetStargiftUpgrade () (value bool )
GetBusinessTransfer () (value bool )
GetStargiftResale () (value bool )
GetPostsSearch () (value bool )
GetStargiftPrepaidUpgrade () (value bool )
GetStargiftDropOriginalDetails () (value bool )
GetPhonegroupMessage () (value bool )
GetStargiftAuctionBid () (value bool )
GetOffer () (value bool )
GetID () (value string )
GetAmount () (value StarsAmountClass )
GetDate () (value int )
GetPeer () (value StarsTransactionPeerClass )
GetTitle () (value string , ok bool )
GetDescription () (value string , ok bool )
GetPhoto () (value WebDocumentClass , ok bool )
GetTransactionDate () (value int , ok bool )
GetTransactionURL () (value string , ok bool )
GetBotPayload () (value []byte , ok bool )
GetMsgID () (value int , ok bool )
GetExtendedMedia () (value []MessageMediaClass , ok bool )
GetSubscriptionPeriod () (value int , ok bool )
GetGiveawayPostID () (value int , ok bool )
GetStargift () (value StarGiftClass , ok bool )
GetFloodskipNumber () (value int , ok bool )
GetStarrefCommissionPermille () (value int , ok bool )
GetStarrefPeer () (value PeerClass , ok bool )
GetStarrefAmount () (value StarsAmountClass , ok bool )
GetPaidMessages () (value int , ok bool )
GetPremiumGiftMonths () (value int , ok bool )
GetAdsProceedsFromDate () (value int , ok bool )
GetAdsProceedsToDate () (value int , ok bool )
}) {
s .Refund = from .GetRefund ()
s .Pending = from .GetPending ()
s .Failed = from .GetFailed ()
s .Gift = from .GetGift ()
s .Reaction = from .GetReaction ()
s .StargiftUpgrade = from .GetStargiftUpgrade ()
s .BusinessTransfer = from .GetBusinessTransfer ()
s .StargiftResale = from .GetStargiftResale ()
s .PostsSearch = from .GetPostsSearch ()
s .StargiftPrepaidUpgrade = from .GetStargiftPrepaidUpgrade ()
s .StargiftDropOriginalDetails = from .GetStargiftDropOriginalDetails ()
s .PhonegroupMessage = from .GetPhonegroupMessage ()
s .StargiftAuctionBid = from .GetStargiftAuctionBid ()
s .Offer = from .GetOffer ()
s .ID = from .GetID ()
s .Amount = from .GetAmount ()
s .Date = from .GetDate ()
s .Peer = from .GetPeer ()
if val , ok := from .GetTitle (); ok {
s .Title = val
}
if val , ok := from .GetDescription (); ok {
s .Description = val
}
if val , ok := from .GetPhoto (); ok {
s .Photo = val
}
if val , ok := from .GetTransactionDate (); ok {
s .TransactionDate = val
}
if val , ok := from .GetTransactionURL (); ok {
s .TransactionURL = val
}
if val , ok := from .GetBotPayload (); ok {
s .BotPayload = val
}
if val , ok := from .GetMsgID (); ok {
s .MsgID = val
}
if val , ok := from .GetExtendedMedia (); ok {
s .ExtendedMedia = val
}
if val , ok := from .GetSubscriptionPeriod (); ok {
s .SubscriptionPeriod = val
}
if val , ok := from .GetGiveawayPostID (); ok {
s .GiveawayPostID = val
}
if val , ok := from .GetStargift (); ok {
s .Stargift = val
}
if val , ok := from .GetFloodskipNumber (); ok {
s .FloodskipNumber = val
}
if val , ok := from .GetStarrefCommissionPermille (); ok {
s .StarrefCommissionPermille = val
}
if val , ok := from .GetStarrefPeer (); ok {
s .StarrefPeer = val
}
if val , ok := from .GetStarrefAmount (); ok {
s .StarrefAmount = val
}
if val , ok := from .GetPaidMessages (); ok {
s .PaidMessages = val
}
if val , ok := from .GetPremiumGiftMonths (); ok {
s .PremiumGiftMonths = val
}
if val , ok := from .GetAdsProceedsFromDate (); ok {
s .AdsProceedsFromDate = val
}
if val , ok := from .GetAdsProceedsToDate (); ok {
s .AdsProceedsToDate = val
}
}
func (*StarsTransaction ) TypeID () uint32 {
return StarsTransactionTypeID
}
func (*StarsTransaction ) TypeName () string {
return "starsTransaction"
}
func (s *StarsTransaction ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "starsTransaction" ,
ID : StarsTransactionTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Refund" ,
SchemaName : "refund" ,
Null : !s .Flags .Has (3 ),
},
{
Name : "Pending" ,
SchemaName : "pending" ,
Null : !s .Flags .Has (4 ),
},
{
Name : "Failed" ,
SchemaName : "failed" ,
Null : !s .Flags .Has (6 ),
},
{
Name : "Gift" ,
SchemaName : "gift" ,
Null : !s .Flags .Has (10 ),
},
{
Name : "Reaction" ,
SchemaName : "reaction" ,
Null : !s .Flags .Has (11 ),
},
{
Name : "StargiftUpgrade" ,
SchemaName : "stargift_upgrade" ,
Null : !s .Flags .Has (18 ),
},
{
Name : "BusinessTransfer" ,
SchemaName : "business_transfer" ,
Null : !s .Flags .Has (21 ),
},
{
Name : "StargiftResale" ,
SchemaName : "stargift_resale" ,
Null : !s .Flags .Has (22 ),
},
{
Name : "PostsSearch" ,
SchemaName : "posts_search" ,
Null : !s .Flags .Has (24 ),
},
{
Name : "StargiftPrepaidUpgrade" ,
SchemaName : "stargift_prepaid_upgrade" ,
Null : !s .Flags .Has (25 ),
},
{
Name : "StargiftDropOriginalDetails" ,
SchemaName : "stargift_drop_original_details" ,
Null : !s .Flags .Has (26 ),
},
{
Name : "PhonegroupMessage" ,
SchemaName : "phonegroup_message" ,
Null : !s .Flags .Has (27 ),
},
{
Name : "StargiftAuctionBid" ,
SchemaName : "stargift_auction_bid" ,
Null : !s .Flags .Has (28 ),
},
{
Name : "Offer" ,
SchemaName : "offer" ,
Null : !s .Flags .Has (29 ),
},
{
Name : "ID" ,
SchemaName : "id" ,
},
{
Name : "Amount" ,
SchemaName : "amount" ,
},
{
Name : "Date" ,
SchemaName : "date" ,
},
{
Name : "Peer" ,
SchemaName : "peer" ,
},
{
Name : "Title" ,
SchemaName : "title" ,
Null : !s .Flags .Has (0 ),
},
{
Name : "Description" ,
SchemaName : "description" ,
Null : !s .Flags .Has (1 ),
},
{
Name : "Photo" ,
SchemaName : "photo" ,
Null : !s .Flags .Has (2 ),
},
{
Name : "TransactionDate" ,
SchemaName : "transaction_date" ,
Null : !s .Flags .Has (5 ),
},
{
Name : "TransactionURL" ,
SchemaName : "transaction_url" ,
Null : !s .Flags .Has (5 ),
},
{
Name : "BotPayload" ,
SchemaName : "bot_payload" ,
Null : !s .Flags .Has (7 ),
},
{
Name : "MsgID" ,
SchemaName : "msg_id" ,
Null : !s .Flags .Has (8 ),
},
{
Name : "ExtendedMedia" ,
SchemaName : "extended_media" ,
Null : !s .Flags .Has (9 ),
},
{
Name : "SubscriptionPeriod" ,
SchemaName : "subscription_period" ,
Null : !s .Flags .Has (12 ),
},
{
Name : "GiveawayPostID" ,
SchemaName : "giveaway_post_id" ,
Null : !s .Flags .Has (13 ),
},
{
Name : "Stargift" ,
SchemaName : "stargift" ,
Null : !s .Flags .Has (14 ),
},
{
Name : "FloodskipNumber" ,
SchemaName : "floodskip_number" ,
Null : !s .Flags .Has (15 ),
},
{
Name : "StarrefCommissionPermille" ,
SchemaName : "starref_commission_permille" ,
Null : !s .Flags .Has (16 ),
},
{
Name : "StarrefPeer" ,
SchemaName : "starref_peer" ,
Null : !s .Flags .Has (17 ),
},
{
Name : "StarrefAmount" ,
SchemaName : "starref_amount" ,
Null : !s .Flags .Has (17 ),
},
{
Name : "PaidMessages" ,
SchemaName : "paid_messages" ,
Null : !s .Flags .Has (19 ),
},
{
Name : "PremiumGiftMonths" ,
SchemaName : "premium_gift_months" ,
Null : !s .Flags .Has (20 ),
},
{
Name : "AdsProceedsFromDate" ,
SchemaName : "ads_proceeds_from_date" ,
Null : !s .Flags .Has (23 ),
},
{
Name : "AdsProceedsToDate" ,
SchemaName : "ads_proceeds_to_date" ,
Null : !s .Flags .Has (23 ),
},
}
return typ
}
func (s *StarsTransaction ) SetFlags () {
if !(s .Refund == false ) {
s .Flags .Set (3 )
}
if !(s .Pending == false ) {
s .Flags .Set (4 )
}
if !(s .Failed == false ) {
s .Flags .Set (6 )
}
if !(s .Gift == false ) {
s .Flags .Set (10 )
}
if !(s .Reaction == false ) {
s .Flags .Set (11 )
}
if !(s .StargiftUpgrade == false ) {
s .Flags .Set (18 )
}
if !(s .BusinessTransfer == false ) {
s .Flags .Set (21 )
}
if !(s .StargiftResale == false ) {
s .Flags .Set (22 )
}
if !(s .PostsSearch == false ) {
s .Flags .Set (24 )
}
if !(s .StargiftPrepaidUpgrade == false ) {
s .Flags .Set (25 )
}
if !(s .StargiftDropOriginalDetails == false ) {
s .Flags .Set (26 )
}
if !(s .PhonegroupMessage == false ) {
s .Flags .Set (27 )
}
if !(s .StargiftAuctionBid == false ) {
s .Flags .Set (28 )
}
if !(s .Offer == false ) {
s .Flags .Set (29 )
}
if !(s .Title == "" ) {
s .Flags .Set (0 )
}
if !(s .Description == "" ) {
s .Flags .Set (1 )
}
if !(s .Photo == nil ) {
s .Flags .Set (2 )
}
if !(s .TransactionDate == 0 ) {
s .Flags .Set (5 )
}
if !(s .TransactionURL == "" ) {
s .Flags .Set (5 )
}
if !(s .BotPayload == nil ) {
s .Flags .Set (7 )
}
if !(s .MsgID == 0 ) {
s .Flags .Set (8 )
}
if !(s .ExtendedMedia == nil ) {
s .Flags .Set (9 )
}
if !(s .SubscriptionPeriod == 0 ) {
s .Flags .Set (12 )
}
if !(s .GiveawayPostID == 0 ) {
s .Flags .Set (13 )
}
if !(s .Stargift == nil ) {
s .Flags .Set (14 )
}
if !(s .FloodskipNumber == 0 ) {
s .Flags .Set (15 )
}
if !(s .StarrefCommissionPermille == 0 ) {
s .Flags .Set (16 )
}
if !(s .StarrefPeer == nil ) {
s .Flags .Set (17 )
}
if !(s .StarrefAmount == nil ) {
s .Flags .Set (17 )
}
if !(s .PaidMessages == 0 ) {
s .Flags .Set (19 )
}
if !(s .PremiumGiftMonths == 0 ) {
s .Flags .Set (20 )
}
if !(s .AdsProceedsFromDate == 0 ) {
s .Flags .Set (23 )
}
if !(s .AdsProceedsToDate == 0 ) {
s .Flags .Set (23 )
}
}
func (s *StarsTransaction ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode starsTransaction#13659eb0 as nil" )
}
b .PutID (StarsTransactionTypeID )
return s .EncodeBare (b )
}
func (s *StarsTransaction ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode starsTransaction#13659eb0 as nil" )
}
s .SetFlags ()
if err := s .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field flags: %w" , err )
}
b .PutString (s .ID )
if s .Amount == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field amount is nil" )
}
if err := s .Amount .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field amount: %w" , err )
}
b .PutInt (s .Date )
if s .Peer == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field peer is nil" )
}
if err := s .Peer .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field peer: %w" , err )
}
if s .Flags .Has (0 ) {
b .PutString (s .Title )
}
if s .Flags .Has (1 ) {
b .PutString (s .Description )
}
if s .Flags .Has (2 ) {
if s .Photo == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field photo is nil" )
}
if err := s .Photo .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field photo: %w" , err )
}
}
if s .Flags .Has (5 ) {
b .PutInt (s .TransactionDate )
}
if s .Flags .Has (5 ) {
b .PutString (s .TransactionURL )
}
if s .Flags .Has (7 ) {
b .PutBytes (s .BotPayload )
}
if s .Flags .Has (8 ) {
b .PutInt (s .MsgID )
}
if s .Flags .Has (9 ) {
b .PutVectorHeader (len (s .ExtendedMedia ))
for idx , v := range s .ExtendedMedia {
if v == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field extended_media element with index %d is nil" , idx )
}
if err := v .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field extended_media element with index %d: %w" , idx , err )
}
}
}
if s .Flags .Has (12 ) {
b .PutInt (s .SubscriptionPeriod )
}
if s .Flags .Has (13 ) {
b .PutInt (s .GiveawayPostID )
}
if s .Flags .Has (14 ) {
if s .Stargift == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field stargift is nil" )
}
if err := s .Stargift .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field stargift: %w" , err )
}
}
if s .Flags .Has (15 ) {
b .PutInt (s .FloodskipNumber )
}
if s .Flags .Has (16 ) {
b .PutInt (s .StarrefCommissionPermille )
}
if s .Flags .Has (17 ) {
if s .StarrefPeer == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field starref_peer is nil" )
}
if err := s .StarrefPeer .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field starref_peer: %w" , err )
}
}
if s .Flags .Has (17 ) {
if s .StarrefAmount == nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field starref_amount is nil" )
}
if err := s .StarrefAmount .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode starsTransaction#13659eb0: field starref_amount: %w" , err )
}
}
if s .Flags .Has (19 ) {
b .PutInt (s .PaidMessages )
}
if s .Flags .Has (20 ) {
b .PutInt (s .PremiumGiftMonths )
}
if s .Flags .Has (23 ) {
b .PutInt (s .AdsProceedsFromDate )
}
if s .Flags .Has (23 ) {
b .PutInt (s .AdsProceedsToDate )
}
return nil
}
func (s *StarsTransaction ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode starsTransaction#13659eb0 to nil" )
}
if err := b .ConsumeID (StarsTransactionTypeID ); err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: %w" , err )
}
return s .DecodeBare (b )
}
func (s *StarsTransaction ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode starsTransaction#13659eb0 to nil" )
}
{
if err := s .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field flags: %w" , err )
}
}
s .Refund = s .Flags .Has (3 )
s .Pending = s .Flags .Has (4 )
s .Failed = s .Flags .Has (6 )
s .Gift = s .Flags .Has (10 )
s .Reaction = s .Flags .Has (11 )
s .StargiftUpgrade = s .Flags .Has (18 )
s .BusinessTransfer = s .Flags .Has (21 )
s .StargiftResale = s .Flags .Has (22 )
s .PostsSearch = s .Flags .Has (24 )
s .StargiftPrepaidUpgrade = s .Flags .Has (25 )
s .StargiftDropOriginalDetails = s .Flags .Has (26 )
s .PhonegroupMessage = s .Flags .Has (27 )
s .StargiftAuctionBid = s .Flags .Has (28 )
s .Offer = s .Flags .Has (29 )
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field id: %w" , err )
}
s .ID = value
}
{
value , err := DecodeStarsAmount (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field amount: %w" , err )
}
s .Amount = value
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field date: %w" , err )
}
s .Date = value
}
{
value , err := DecodeStarsTransactionPeer (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field peer: %w" , err )
}
s .Peer = value
}
if s .Flags .Has (0 ) {
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field title: %w" , err )
}
s .Title = value
}
if s .Flags .Has (1 ) {
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field description: %w" , err )
}
s .Description = value
}
if s .Flags .Has (2 ) {
value , err := DecodeWebDocument (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field photo: %w" , err )
}
s .Photo = value
}
if s .Flags .Has (5 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field transaction_date: %w" , err )
}
s .TransactionDate = value
}
if s .Flags .Has (5 ) {
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field transaction_url: %w" , err )
}
s .TransactionURL = value
}
if s .Flags .Has (7 ) {
value , err := b .Bytes ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field bot_payload: %w" , err )
}
s .BotPayload = value
}
if s .Flags .Has (8 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field msg_id: %w" , err )
}
s .MsgID = value
}
if s .Flags .Has (9 ) {
headerLen , err := b .VectorHeader ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field extended_media: %w" , err )
}
if headerLen > 0 {
s .ExtendedMedia = make ([]MessageMediaClass , 0 , headerLen %bin .PreallocateLimit )
}
for idx := 0 ; idx < headerLen ; idx ++ {
value , err := DecodeMessageMedia (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field extended_media: %w" , err )
}
s .ExtendedMedia = append (s .ExtendedMedia , value )
}
}
if s .Flags .Has (12 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field subscription_period: %w" , err )
}
s .SubscriptionPeriod = value
}
if s .Flags .Has (13 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field giveaway_post_id: %w" , err )
}
s .GiveawayPostID = value
}
if s .Flags .Has (14 ) {
value , err := DecodeStarGift (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field stargift: %w" , err )
}
s .Stargift = value
}
if s .Flags .Has (15 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field floodskip_number: %w" , err )
}
s .FloodskipNumber = value
}
if s .Flags .Has (16 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field starref_commission_permille: %w" , err )
}
s .StarrefCommissionPermille = value
}
if s .Flags .Has (17 ) {
value , err := DecodePeer (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field starref_peer: %w" , err )
}
s .StarrefPeer = value
}
if s .Flags .Has (17 ) {
value , err := DecodeStarsAmount (b )
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field starref_amount: %w" , err )
}
s .StarrefAmount = value
}
if s .Flags .Has (19 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field paid_messages: %w" , err )
}
s .PaidMessages = value
}
if s .Flags .Has (20 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field premium_gift_months: %w" , err )
}
s .PremiumGiftMonths = value
}
if s .Flags .Has (23 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field ads_proceeds_from_date: %w" , err )
}
s .AdsProceedsFromDate = value
}
if s .Flags .Has (23 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode starsTransaction#13659eb0: field ads_proceeds_to_date: %w" , err )
}
s .AdsProceedsToDate = value
}
return nil
}
func (s *StarsTransaction ) SetRefund (value bool ) {
if value {
s .Flags .Set (3 )
s .Refund = true
} else {
s .Flags .Unset (3 )
s .Refund = false
}
}
func (s *StarsTransaction ) GetRefund () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (3 )
}
func (s *StarsTransaction ) SetPending (value bool ) {
if value {
s .Flags .Set (4 )
s .Pending = true
} else {
s .Flags .Unset (4 )
s .Pending = false
}
}
func (s *StarsTransaction ) GetPending () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (4 )
}
func (s *StarsTransaction ) SetFailed (value bool ) {
if value {
s .Flags .Set (6 )
s .Failed = true
} else {
s .Flags .Unset (6 )
s .Failed = false
}
}
func (s *StarsTransaction ) GetFailed () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (6 )
}
func (s *StarsTransaction ) SetGift (value bool ) {
if value {
s .Flags .Set (10 )
s .Gift = true
} else {
s .Flags .Unset (10 )
s .Gift = false
}
}
func (s *StarsTransaction ) GetGift () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (10 )
}
func (s *StarsTransaction ) SetReaction (value bool ) {
if value {
s .Flags .Set (11 )
s .Reaction = true
} else {
s .Flags .Unset (11 )
s .Reaction = false
}
}
func (s *StarsTransaction ) GetReaction () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (11 )
}
func (s *StarsTransaction ) SetStargiftUpgrade (value bool ) {
if value {
s .Flags .Set (18 )
s .StargiftUpgrade = true
} else {
s .Flags .Unset (18 )
s .StargiftUpgrade = false
}
}
func (s *StarsTransaction ) GetStargiftUpgrade () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (18 )
}
func (s *StarsTransaction ) SetBusinessTransfer (value bool ) {
if value {
s .Flags .Set (21 )
s .BusinessTransfer = true
} else {
s .Flags .Unset (21 )
s .BusinessTransfer = false
}
}
func (s *StarsTransaction ) GetBusinessTransfer () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (21 )
}
func (s *StarsTransaction ) SetStargiftResale (value bool ) {
if value {
s .Flags .Set (22 )
s .StargiftResale = true
} else {
s .Flags .Unset (22 )
s .StargiftResale = false
}
}
func (s *StarsTransaction ) GetStargiftResale () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (22 )
}
func (s *StarsTransaction ) SetPostsSearch (value bool ) {
if value {
s .Flags .Set (24 )
s .PostsSearch = true
} else {
s .Flags .Unset (24 )
s .PostsSearch = false
}
}
func (s *StarsTransaction ) GetPostsSearch () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (24 )
}
func (s *StarsTransaction ) SetStargiftPrepaidUpgrade (value bool ) {
if value {
s .Flags .Set (25 )
s .StargiftPrepaidUpgrade = true
} else {
s .Flags .Unset (25 )
s .StargiftPrepaidUpgrade = false
}
}
func (s *StarsTransaction ) GetStargiftPrepaidUpgrade () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (25 )
}
func (s *StarsTransaction ) SetStargiftDropOriginalDetails (value bool ) {
if value {
s .Flags .Set (26 )
s .StargiftDropOriginalDetails = true
} else {
s .Flags .Unset (26 )
s .StargiftDropOriginalDetails = false
}
}
func (s *StarsTransaction ) GetStargiftDropOriginalDetails () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (26 )
}
func (s *StarsTransaction ) SetPhonegroupMessage (value bool ) {
if value {
s .Flags .Set (27 )
s .PhonegroupMessage = true
} else {
s .Flags .Unset (27 )
s .PhonegroupMessage = false
}
}
func (s *StarsTransaction ) GetPhonegroupMessage () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (27 )
}
func (s *StarsTransaction ) SetStargiftAuctionBid (value bool ) {
if value {
s .Flags .Set (28 )
s .StargiftAuctionBid = true
} else {
s .Flags .Unset (28 )
s .StargiftAuctionBid = false
}
}
func (s *StarsTransaction ) GetStargiftAuctionBid () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (28 )
}
func (s *StarsTransaction ) SetOffer (value bool ) {
if value {
s .Flags .Set (29 )
s .Offer = true
} else {
s .Flags .Unset (29 )
s .Offer = false
}
}
func (s *StarsTransaction ) GetOffer () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (29 )
}
func (s *StarsTransaction ) GetID () (value string ) {
if s == nil {
return
}
return s .ID
}
func (s *StarsTransaction ) GetAmount () (value StarsAmountClass ) {
if s == nil {
return
}
return s .Amount
}
func (s *StarsTransaction ) GetDate () (value int ) {
if s == nil {
return
}
return s .Date
}
func (s *StarsTransaction ) GetPeer () (value StarsTransactionPeerClass ) {
if s == nil {
return
}
return s .Peer
}
func (s *StarsTransaction ) SetTitle (value string ) {
s .Flags .Set (0 )
s .Title = value
}
func (s *StarsTransaction ) GetTitle () (value string , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (0 ) {
return value , false
}
return s .Title , true
}
func (s *StarsTransaction ) SetDescription (value string ) {
s .Flags .Set (1 )
s .Description = value
}
func (s *StarsTransaction ) GetDescription () (value string , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (1 ) {
return value , false
}
return s .Description , true
}
func (s *StarsTransaction ) SetPhoto (value WebDocumentClass ) {
s .Flags .Set (2 )
s .Photo = value
}
func (s *StarsTransaction ) GetPhoto () (value WebDocumentClass , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (2 ) {
return value , false
}
return s .Photo , true
}
func (s *StarsTransaction ) SetTransactionDate (value int ) {
s .Flags .Set (5 )
s .TransactionDate = value
}
func (s *StarsTransaction ) GetTransactionDate () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (5 ) {
return value , false
}
return s .TransactionDate , true
}
func (s *StarsTransaction ) SetTransactionURL (value string ) {
s .Flags .Set (5 )
s .TransactionURL = value
}
func (s *StarsTransaction ) GetTransactionURL () (value string , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (5 ) {
return value , false
}
return s .TransactionURL , true
}
func (s *StarsTransaction ) SetBotPayload (value []byte ) {
s .Flags .Set (7 )
s .BotPayload = value
}
func (s *StarsTransaction ) GetBotPayload () (value []byte , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (7 ) {
return value , false
}
return s .BotPayload , true
}
func (s *StarsTransaction ) SetMsgID (value int ) {
s .Flags .Set (8 )
s .MsgID = value
}
func (s *StarsTransaction ) GetMsgID () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (8 ) {
return value , false
}
return s .MsgID , true
}
func (s *StarsTransaction ) SetExtendedMedia (value []MessageMediaClass ) {
s .Flags .Set (9 )
s .ExtendedMedia = value
}
func (s *StarsTransaction ) GetExtendedMedia () (value []MessageMediaClass , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (9 ) {
return value , false
}
return s .ExtendedMedia , true
}
func (s *StarsTransaction ) SetSubscriptionPeriod (value int ) {
s .Flags .Set (12 )
s .SubscriptionPeriod = value
}
func (s *StarsTransaction ) GetSubscriptionPeriod () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (12 ) {
return value , false
}
return s .SubscriptionPeriod , true
}
func (s *StarsTransaction ) SetGiveawayPostID (value int ) {
s .Flags .Set (13 )
s .GiveawayPostID = value
}
func (s *StarsTransaction ) GetGiveawayPostID () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (13 ) {
return value , false
}
return s .GiveawayPostID , true
}
func (s *StarsTransaction ) SetStargift (value StarGiftClass ) {
s .Flags .Set (14 )
s .Stargift = value
}
func (s *StarsTransaction ) GetStargift () (value StarGiftClass , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (14 ) {
return value , false
}
return s .Stargift , true
}
func (s *StarsTransaction ) SetFloodskipNumber (value int ) {
s .Flags .Set (15 )
s .FloodskipNumber = value
}
func (s *StarsTransaction ) GetFloodskipNumber () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (15 ) {
return value , false
}
return s .FloodskipNumber , true
}
func (s *StarsTransaction ) SetStarrefCommissionPermille (value int ) {
s .Flags .Set (16 )
s .StarrefCommissionPermille = value
}
func (s *StarsTransaction ) GetStarrefCommissionPermille () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (16 ) {
return value , false
}
return s .StarrefCommissionPermille , true
}
func (s *StarsTransaction ) SetStarrefPeer (value PeerClass ) {
s .Flags .Set (17 )
s .StarrefPeer = value
}
func (s *StarsTransaction ) GetStarrefPeer () (value PeerClass , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (17 ) {
return value , false
}
return s .StarrefPeer , true
}
func (s *StarsTransaction ) SetStarrefAmount (value StarsAmountClass ) {
s .Flags .Set (17 )
s .StarrefAmount = value
}
func (s *StarsTransaction ) GetStarrefAmount () (value StarsAmountClass , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (17 ) {
return value , false
}
return s .StarrefAmount , true
}
func (s *StarsTransaction ) SetPaidMessages (value int ) {
s .Flags .Set (19 )
s .PaidMessages = value
}
func (s *StarsTransaction ) GetPaidMessages () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (19 ) {
return value , false
}
return s .PaidMessages , true
}
func (s *StarsTransaction ) SetPremiumGiftMonths (value int ) {
s .Flags .Set (20 )
s .PremiumGiftMonths = value
}
func (s *StarsTransaction ) GetPremiumGiftMonths () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (20 ) {
return value , false
}
return s .PremiumGiftMonths , true
}
func (s *StarsTransaction ) SetAdsProceedsFromDate (value int ) {
s .Flags .Set (23 )
s .AdsProceedsFromDate = value
}
func (s *StarsTransaction ) GetAdsProceedsFromDate () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (23 ) {
return value , false
}
return s .AdsProceedsFromDate , true
}
func (s *StarsTransaction ) SetAdsProceedsToDate (value int ) {
s .Flags .Set (23 )
s .AdsProceedsToDate = value
}
func (s *StarsTransaction ) GetAdsProceedsToDate () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (23 ) {
return value , false
}
return s .AdsProceedsToDate , true
}
func (s *StarsTransaction ) MapExtendedMedia () (value MessageMediaClassArray , ok bool ) {
if !s .Flags .Has (9 ) {
return value , false
}
return MessageMediaClassArray (s .ExtendedMedia ), true
}
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 .