Selaa lähdekoodia

Update to layer 181

Painor 11 kuukautta sitten
vanhempi
commit
5a0f45b2b5
7 muutettua tiedostoa jossa 627 lisäystä ja 40 poistoa
  1. 1 1
      gramjs/Version.ts
  2. 1 1
      gramjs/tl/AllTLObjects.ts
  3. 534 16
      gramjs/tl/api.d.ts
  4. 40 9
      gramjs/tl/apiTl.js
  5. 48 10
      gramjs/tl/static/api.tl
  6. 2 2
      package-lock.json
  7. 1 1
      package.json

+ 1 - 1
gramjs/Version.ts

@@ -1 +1 @@
-export const version = "2.20.14";
+export const version = "2.22.0";

+ 1 - 1
gramjs/tl/AllTLObjects.ts

@@ -1,4 +1,4 @@
-export const LAYER = 179;
+export const LAYER = 181;
 
 
 import { Api } from "./";
 import { Api } from "./";
 
 

+ 534 - 16
gramjs/tl/api.d.ts

@@ -383,12 +383,12 @@ export namespace Api {
         photo?: Api.TypeInputWebDocument;
         photo?: Api.TypeInputWebDocument;
         invoice: Api.TypeInvoice;
         invoice: Api.TypeInvoice;
         payload: bytes;
         payload: bytes;
-        provider: string;
+        provider?: string;
         providerData: Api.TypeDataJSON;
         providerData: Api.TypeDataJSON;
         startParam?: string;
         startParam?: string;
         extendedMedia?: Api.TypeInputMedia;
         extendedMedia?: Api.TypeInputMedia;
     }> {
     }> {
-        CONSTRUCTOR_ID: 2394269397;
+        CONSTRUCTOR_ID: 1080028941;
         SUBCLASS_OF_ID: 4210575092;
         SUBCLASS_OF_ID: 4210575092;
         classType: "constructor";
         classType: "constructor";
         className: "InputMediaInvoice";
         className: "InputMediaInvoice";
@@ -399,7 +399,7 @@ export namespace Api {
         photo?: Api.TypeInputWebDocument;
         photo?: Api.TypeInputWebDocument;
         invoice: Api.TypeInvoice;
         invoice: Api.TypeInvoice;
         payload: bytes;
         payload: bytes;
-        provider: string;
+        provider?: string;
         providerData: Api.TypeDataJSON;
         providerData: Api.TypeDataJSON;
         startParam?: string;
         startParam?: string;
         extendedMedia?: Api.TypeInputMedia;
         extendedMedia?: Api.TypeInputMedia;
@@ -1390,7 +1390,7 @@ export namespace Api {
         peerId?: Api.TypePeer;
         peerId?: Api.TypePeer;
     }
     }
     export class Message extends CustomMessage {
     export class Message extends CustomMessage {
-        CONSTRUCTOR_ID: 592953125;
+        CONSTRUCTOR_ID: 2486456898;
         SUBCLASS_OF_ID: 2030045667;
         SUBCLASS_OF_ID: 2030045667;
         classType: "request";
         classType: "request";
         className: "Message";
         className: "Message";
@@ -4775,6 +4775,28 @@ export namespace Api {
         peer: Api.TypePeer;
         peer: Api.TypePeer;
         reaction: Api.TypeReaction;
         reaction: Api.TypeReaction;
     }
     }
+    export class UpdateBroadcastRevenueTransactions extends VirtualClass<{
+        peer: Api.TypePeer;
+        balances: Api.TypeBroadcastRevenueBalances;
+    }> {
+        CONSTRUCTOR_ID: 3755565557;
+        SUBCLASS_OF_ID: 2676568142;
+        classType: "constructor";
+        className: "UpdateBroadcastRevenueTransactions";
+        static fromReader(reader: Reader): UpdateBroadcastRevenueTransactions;
+        peer: Api.TypePeer;
+        balances: Api.TypeBroadcastRevenueBalances;
+    }
+    export class UpdateStarsBalance extends VirtualClass<{
+        balance: long;
+    }> {
+        CONSTRUCTOR_ID: 263737752;
+        SUBCLASS_OF_ID: 2676568142;
+        classType: "constructor";
+        className: "UpdateStarsBalance";
+        static fromReader(reader: Reader): UpdateStarsBalance;
+        balance: long;
+    }
     export class UpdatesTooLong extends VirtualClass<void> {
     export class UpdatesTooLong extends VirtualClass<void> {
         CONSTRUCTOR_ID: 3809980286;
         CONSTRUCTOR_ID: 3809980286;
         SUBCLASS_OF_ID: 2331323052;
         SUBCLASS_OF_ID: 2331323052;
@@ -6996,14 +7018,18 @@ export namespace Api {
         documentId: long;
         documentId: long;
     }
     }
     export class MessageEntityBlockquote extends VirtualClass<{
     export class MessageEntityBlockquote extends VirtualClass<{
+        // flags: null;
+        collapsed?: boolean;
         offset: int;
         offset: int;
         length: int;
         length: int;
     }> {
     }> {
-        CONSTRUCTOR_ID: 34469328;
+        CONSTRUCTOR_ID: 4056722092;
         SUBCLASS_OF_ID: 3479443932;
         SUBCLASS_OF_ID: 3479443932;
         classType: "constructor";
         classType: "constructor";
         className: "MessageEntityBlockquote";
         className: "MessageEntityBlockquote";
         static fromReader(reader: Reader): MessageEntityBlockquote;
         static fromReader(reader: Reader): MessageEntityBlockquote;
+        // flags: null;
+        collapsed?: boolean;
         offset: int;
         offset: int;
         length: int;
         length: int;
     }
     }
@@ -12684,6 +12710,16 @@ export namespace Api {
         purpose: Api.TypeInputStorePaymentPurpose;
         purpose: Api.TypeInputStorePaymentPurpose;
         option: Api.TypePremiumGiftCodeOption;
         option: Api.TypePremiumGiftCodeOption;
     }
     }
+    export class InputInvoiceStars extends VirtualClass<{
+        option: Api.TypeStarsTopupOption;
+    }> {
+        CONSTRUCTOR_ID: 497236696;
+        SUBCLASS_OF_ID: 1919851518;
+        classType: "constructor";
+        className: "InputInvoiceStars";
+        static fromReader(reader: Reader): InputInvoiceStars;
+        option: Api.TypeStarsTopupOption;
+    }
     export class InputStorePaymentPremiumSubscription extends VirtualClass<{
     export class InputStorePaymentPremiumSubscription extends VirtualClass<{
         // flags: null;
         // flags: null;
         restore?: boolean;
         restore?: boolean;
@@ -12760,6 +12796,22 @@ export namespace Api {
         currency: string;
         currency: string;
         amount: long;
         amount: long;
     }
     }
+    export class InputStorePaymentStars extends VirtualClass<{
+        // flags: null;
+        stars: long;
+        currency: string;
+        amount: long;
+    }> {
+        CONSTRUCTOR_ID: 1326377183;
+        SUBCLASS_OF_ID: 3886290765;
+        classType: "constructor";
+        className: "InputStorePaymentStars";
+        static fromReader(reader: Reader): InputStorePaymentStars;
+        // flags: null;
+        stars: long;
+        currency: string;
+        amount: long;
+    }
     export class PremiumGiftOption extends VirtualClass<{
     export class PremiumGiftOption extends VirtualClass<{
         // flags: null;
         // flags: null;
         months: int;
         months: int;
@@ -14639,6 +14691,137 @@ export namespace Api {
         availableBalance: long;
         availableBalance: long;
         overallRevenue: long;
         overallRevenue: long;
     }
     }
+    export class AvailableEffect extends VirtualClass<{
+        // flags: null;
+        premiumRequired?: boolean;
+        id: long;
+        emoticon: string;
+        staticIconId?: long;
+        effectStickerId: long;
+        effectAnimationId?: long;
+    }> {
+        CONSTRUCTOR_ID: 2479088254;
+        SUBCLASS_OF_ID: 2556047233;
+        classType: "constructor";
+        className: "AvailableEffect";
+        static fromReader(reader: Reader): AvailableEffect;
+        // flags: null;
+        premiumRequired?: boolean;
+        id: long;
+        emoticon: string;
+        staticIconId?: long;
+        effectStickerId: long;
+        effectAnimationId?: long;
+    }
+    export class FactCheck extends VirtualClass<{
+        // flags: null;
+        needCheck?: boolean;
+        country?: string;
+        text?: Api.TypeTextWithEntities;
+        hash: long;
+    }> {
+        CONSTRUCTOR_ID: 3097230543;
+        SUBCLASS_OF_ID: 1178641315;
+        classType: "constructor";
+        className: "FactCheck";
+        static fromReader(reader: Reader): FactCheck;
+        // flags: null;
+        needCheck?: boolean;
+        country?: string;
+        text?: Api.TypeTextWithEntities;
+        hash: long;
+    }
+    export class StarsTransactionPeerUnsupported extends VirtualClass<void> {
+        CONSTRUCTOR_ID: 2515714020;
+        SUBCLASS_OF_ID: 1102483843;
+        classType: "constructor";
+        className: "StarsTransactionPeerUnsupported";
+        static fromReader(reader: Reader): StarsTransactionPeerUnsupported;
+    }
+    export class StarsTransactionPeerAppStore extends VirtualClass<void> {
+        CONSTRUCTOR_ID: 3025646453;
+        SUBCLASS_OF_ID: 1102483843;
+        classType: "constructor";
+        className: "StarsTransactionPeerAppStore";
+        static fromReader(reader: Reader): StarsTransactionPeerAppStore;
+    }
+    export class StarsTransactionPeerPlayMarket extends VirtualClass<void> {
+        CONSTRUCTOR_ID: 2069236235;
+        SUBCLASS_OF_ID: 1102483843;
+        classType: "constructor";
+        className: "StarsTransactionPeerPlayMarket";
+        static fromReader(reader: Reader): StarsTransactionPeerPlayMarket;
+    }
+    export class StarsTransactionPeerPremiumBot extends VirtualClass<void> {
+        CONSTRUCTOR_ID: 621656824;
+        SUBCLASS_OF_ID: 1102483843;
+        classType: "constructor";
+        className: "StarsTransactionPeerPremiumBot";
+        static fromReader(reader: Reader): StarsTransactionPeerPremiumBot;
+    }
+    export class StarsTransactionPeerFragment extends VirtualClass<void> {
+        CONSTRUCTOR_ID: 3912227074;
+        SUBCLASS_OF_ID: 1102483843;
+        classType: "constructor";
+        className: "StarsTransactionPeerFragment";
+        static fromReader(reader: Reader): StarsTransactionPeerFragment;
+    }
+    export class StarsTransactionPeer extends VirtualClass<{
+        peer: Api.TypePeer;
+    }> {
+        CONSTRUCTOR_ID: 3624771933;
+        SUBCLASS_OF_ID: 1102483843;
+        classType: "constructor";
+        className: "StarsTransactionPeer";
+        static fromReader(reader: Reader): StarsTransactionPeer;
+        peer: Api.TypePeer;
+    }
+    export class StarsTopupOption extends VirtualClass<{
+        // flags: null;
+        extended?: boolean;
+        stars: long;
+        storeProduct?: string;
+        currency: string;
+        amount: long;
+    }> {
+        CONSTRUCTOR_ID: 198776256;
+        SUBCLASS_OF_ID: 3854345708;
+        classType: "constructor";
+        className: "StarsTopupOption";
+        static fromReader(reader: Reader): StarsTopupOption;
+        // flags: null;
+        extended?: boolean;
+        stars: long;
+        storeProduct?: string;
+        currency: string;
+        amount: long;
+    }
+    export class StarsTransaction extends VirtualClass<{
+        // flags: null;
+        refund?: boolean;
+        id: string;
+        stars: long;
+        date: int;
+        peer: Api.TypeStarsTransactionPeer;
+        title?: string;
+        description?: string;
+        photo?: Api.TypeWebDocument;
+    }> {
+        CONSTRUCTOR_ID: 3429923250;
+        SUBCLASS_OF_ID: 2257078130;
+        classType: "constructor";
+        className: "StarsTransaction";
+        static fromReader(reader: Reader): StarsTransaction;
+        // flags: null;
+        refund?: boolean;
+        id: string;
+        stars: long;
+        date: int;
+        peer: Api.TypeStarsTransactionPeer;
+        title?: string;
+        description?: string;
+        photo?: Api.TypeWebDocument;
+    }
     export class ResPQ extends VirtualClass<{
     export class ResPQ extends VirtualClass<{
         nonce: int128;
         nonce: int128;
         serverNonce: int128;
         serverNonce: int128;
@@ -15390,6 +15573,40 @@ export namespace Api {
         connectionId: string;
         connectionId: string;
         query: X;
         query: X;
     }
     }
+    export class InvokeWithGooglePlayIntegrity extends Request<
+        Partial<{
+            nonce: string;
+            token: string;
+            query: X;
+        }>,
+        X
+    > {
+        CONSTRUCTOR_ID: 502868356;
+        SUBCLASS_OF_ID: 3081909835;
+        classType: "request";
+        className: "InvokeWithGooglePlayIntegrity";
+        static fromReader(reader: Reader): InvokeWithGooglePlayIntegrity;
+        nonce: string;
+        token: string;
+        query: X;
+    }
+    export class InvokeWithApnsSecret extends Request<
+        Partial<{
+            nonce: string;
+            secret: string;
+            query: X;
+        }>,
+        X
+    > {
+        CONSTRUCTOR_ID: 229528824;
+        SUBCLASS_OF_ID: 3081909835;
+        classType: "request";
+        className: "InvokeWithApnsSecret";
+        static fromReader(reader: Reader): InvokeWithApnsSecret;
+        nonce: string;
+        secret: string;
+        query: X;
+    }
     export class ReqPq extends Request<
     export class ReqPq extends Request<
         Partial<{
         Partial<{
             nonce: int128;
             nonce: int128;
@@ -15829,17 +16046,19 @@ export namespace Api {
         export class SentCodeTypeFirebaseSms extends VirtualClass<{
         export class SentCodeTypeFirebaseSms extends VirtualClass<{
             // flags: null;
             // flags: null;
             nonce?: bytes;
             nonce?: bytes;
+            playIntegrityNonce?: bytes;
             receipt?: string;
             receipt?: string;
             pushTimeout?: int;
             pushTimeout?: int;
             length: int;
             length: int;
         }> {
         }> {
-            CONSTRUCTOR_ID: 3850048562;
+            CONSTRUCTOR_ID: 331943703;
             SUBCLASS_OF_ID: 4284159374;
             SUBCLASS_OF_ID: 4284159374;
             classType: "constructor";
             classType: "constructor";
             className: "auth.SentCodeTypeFirebaseSms";
             className: "auth.SentCodeTypeFirebaseSms";
             static fromReader(reader: Reader): SentCodeTypeFirebaseSms;
             static fromReader(reader: Reader): SentCodeTypeFirebaseSms;
             // flags: null;
             // flags: null;
             nonce?: bytes;
             nonce?: bytes;
+            playIntegrityNonce?: bytes;
             receipt?: string;
             receipt?: string;
             pushTimeout?: int;
             pushTimeout?: int;
             length: int;
             length: int;
@@ -17149,6 +17368,27 @@ export namespace Api {
             updates: Api.TypeUpdates;
             updates: Api.TypeUpdates;
             missingInvitees: Api.TypeMissingInvitee[];
             missingInvitees: Api.TypeMissingInvitee[];
         }
         }
+        export class AvailableEffectsNotModified extends VirtualClass<void> {
+            CONSTRUCTOR_ID: 3522009691;
+            SUBCLASS_OF_ID: 1148245437;
+            classType: "constructor";
+            className: "messages.AvailableEffectsNotModified";
+            static fromReader(reader: Reader): AvailableEffectsNotModified;
+        }
+        export class AvailableEffects extends VirtualClass<{
+            hash: int;
+            effects: Api.TypeAvailableEffect[];
+            documents: Api.TypeDocument[];
+        }> {
+            CONSTRUCTOR_ID: 3185271150;
+            SUBCLASS_OF_ID: 1148245437;
+            classType: "constructor";
+            className: "messages.AvailableEffects";
+            static fromReader(reader: Reader): AvailableEffects;
+            hash: int;
+            effects: Api.TypeAvailableEffect[];
+            documents: Api.TypeDocument[];
+        }
     }
     }
 
 
     export namespace updates {
     export namespace updates {
@@ -18369,6 +18609,30 @@ export namespace Api {
             savedCredentials?: Api.TypePaymentSavedCredentials[];
             savedCredentials?: Api.TypePaymentSavedCredentials[];
             users: Api.TypeUser[];
             users: Api.TypeUser[];
         }
         }
+        export class PaymentFormStars extends VirtualClass<{
+            // flags: null;
+            formId: long;
+            botId: long;
+            title: string;
+            description: string;
+            photo?: Api.TypeWebDocument;
+            invoice: Api.TypeInvoice;
+            users: Api.TypeUser[];
+        }> {
+            CONSTRUCTOR_ID: 2079764828;
+            SUBCLASS_OF_ID: 2689089305;
+            classType: "constructor";
+            className: "payments.PaymentFormStars";
+            static fromReader(reader: Reader): PaymentFormStars;
+            // flags: null;
+            formId: long;
+            botId: long;
+            title: string;
+            description: string;
+            photo?: Api.TypeWebDocument;
+            invoice: Api.TypeInvoice;
+            users: Api.TypeUser[];
+        }
         export class ValidatedRequestedInfo extends VirtualClass<{
         export class ValidatedRequestedInfo extends VirtualClass<{
             // flags: null;
             // flags: null;
             id?: string;
             id?: string;
@@ -18441,6 +18705,36 @@ export namespace Api {
             credentialsTitle: string;
             credentialsTitle: string;
             users: Api.TypeUser[];
             users: Api.TypeUser[];
         }
         }
+        export class PaymentReceiptStars extends VirtualClass<{
+            // flags: null;
+            date: int;
+            botId: long;
+            title: string;
+            description: string;
+            photo?: Api.TypeWebDocument;
+            invoice: Api.TypeInvoice;
+            currency: string;
+            totalAmount: long;
+            transactionId: string;
+            users: Api.TypeUser[];
+        }> {
+            CONSTRUCTOR_ID: 3669751866;
+            SUBCLASS_OF_ID: 1493210057;
+            classType: "constructor";
+            className: "payments.PaymentReceiptStars";
+            static fromReader(reader: Reader): PaymentReceiptStars;
+            // flags: null;
+            date: int;
+            botId: long;
+            title: string;
+            description: string;
+            photo?: Api.TypeWebDocument;
+            invoice: Api.TypeInvoice;
+            currency: string;
+            totalAmount: long;
+            transactionId: string;
+            users: Api.TypeUser[];
+        }
         export class SavedInfo extends VirtualClass<{
         export class SavedInfo extends VirtualClass<{
             // flags: null;
             // flags: null;
             hasSavedCredentials?: boolean;
             hasSavedCredentials?: boolean;
@@ -18551,6 +18845,26 @@ export namespace Api {
             winnersCount: int;
             winnersCount: int;
             activatedCount: int;
             activatedCount: int;
         }
         }
+        export class StarsStatus extends VirtualClass<{
+            // flags: null;
+            balance: long;
+            history: Api.TypeStarsTransaction[];
+            nextOffset?: string;
+            chats: Api.TypeChat[];
+            users: Api.TypeUser[];
+        }> {
+            CONSTRUCTOR_ID: 2364862048;
+            SUBCLASS_OF_ID: 1855724911;
+            classType: "constructor";
+            className: "payments.StarsStatus";
+            static fromReader(reader: Reader): StarsStatus;
+            // flags: null;
+            balance: long;
+            history: Api.TypeStarsTransaction[];
+            nextOffset?: string;
+            chats: Api.TypeChat[];
+            users: Api.TypeUser[];
+        }
     }
     }
 
 
     export namespace phone {
     export namespace phone {
@@ -19386,6 +19700,9 @@ export namespace Api {
         export type TypeDialogFilters = messages.DialogFilters;
         export type TypeDialogFilters = messages.DialogFilters;
         export type TypeMyStickers = messages.MyStickers;
         export type TypeMyStickers = messages.MyStickers;
         export type TypeInvitedUsers = messages.InvitedUsers;
         export type TypeInvitedUsers = messages.InvitedUsers;
+        export type TypeAvailableEffects =
+            | messages.AvailableEffectsNotModified
+            | messages.AvailableEffects;
     }
     }
 
 
     export namespace updates {
     export namespace updates {
@@ -19504,13 +19821,17 @@ export namespace Api {
     }
     }
 
 
     export namespace payments {
     export namespace payments {
-        export type TypePaymentForm = payments.PaymentForm;
+        export type TypePaymentForm =
+            | payments.PaymentForm
+            | payments.PaymentFormStars;
         export type TypeValidatedRequestedInfo =
         export type TypeValidatedRequestedInfo =
             payments.ValidatedRequestedInfo;
             payments.ValidatedRequestedInfo;
         export type TypePaymentResult =
         export type TypePaymentResult =
             | payments.PaymentResult
             | payments.PaymentResult
             | payments.PaymentVerificationNeeded;
             | payments.PaymentVerificationNeeded;
-        export type TypePaymentReceipt = payments.PaymentReceipt;
+        export type TypePaymentReceipt =
+            | payments.PaymentReceipt
+            | payments.PaymentReceiptStars;
         export type TypeSavedInfo = payments.SavedInfo;
         export type TypeSavedInfo = payments.SavedInfo;
         export type TypeBankCardData = payments.BankCardData;
         export type TypeBankCardData = payments.BankCardData;
         export type TypeExportedInvoice = payments.ExportedInvoice;
         export type TypeExportedInvoice = payments.ExportedInvoice;
@@ -19518,6 +19839,7 @@ export namespace Api {
         export type TypeGiveawayInfo =
         export type TypeGiveawayInfo =
             | payments.GiveawayInfo
             | payments.GiveawayInfo
             | payments.GiveawayInfoResults;
             | payments.GiveawayInfoResults;
+        export type TypeStarsStatus = payments.StarsStatus;
     }
     }
 
 
     export namespace phone {
     export namespace phone {
@@ -19777,18 +20099,22 @@ export namespace Api {
         }
         }
         export class ResendCode extends Request<
         export class ResendCode extends Request<
             Partial<{
             Partial<{
+                // flags: null;
                 phoneNumber: string;
                 phoneNumber: string;
                 phoneCodeHash: string;
                 phoneCodeHash: string;
+                reason?: string;
             }>,
             }>,
             auth.TypeSentCode
             auth.TypeSentCode
         > {
         > {
-            CONSTRUCTOR_ID: 1056025023;
+            CONSTRUCTOR_ID: 3403969827;
             SUBCLASS_OF_ID: 1827172481;
             SUBCLASS_OF_ID: 1827172481;
             classType: "request";
             classType: "request";
             className: "auth.ResendCode";
             className: "auth.ResendCode";
             static fromReader(reader: Reader): ResendCode;
             static fromReader(reader: Reader): ResendCode;
+            // flags: null;
             phoneNumber: string;
             phoneNumber: string;
             phoneCodeHash: string;
             phoneCodeHash: string;
+            reason?: string;
         }
         }
         export class CancelCode extends Request<
         export class CancelCode extends Request<
             Partial<{
             Partial<{
@@ -19897,11 +20223,12 @@ export namespace Api {
                 phoneNumber: string;
                 phoneNumber: string;
                 phoneCodeHash: string;
                 phoneCodeHash: string;
                 safetyNetToken?: string;
                 safetyNetToken?: string;
+                playIntegrityToken?: string;
                 iosPushSecret?: string;
                 iosPushSecret?: string;
             }>,
             }>,
             Bool
             Bool
         > {
         > {
-            CONSTRUCTOR_ID: 2303085392;
+            CONSTRUCTOR_ID: 2386109982;
             SUBCLASS_OF_ID: 4122188204;
             SUBCLASS_OF_ID: 4122188204;
             classType: "request";
             classType: "request";
             className: "auth.RequestFirebaseSms";
             className: "auth.RequestFirebaseSms";
@@ -19910,6 +20237,7 @@ export namespace Api {
             phoneNumber: string;
             phoneNumber: string;
             phoneCodeHash: string;
             phoneCodeHash: string;
             safetyNetToken?: string;
             safetyNetToken?: string;
+            playIntegrityToken?: string;
             iosPushSecret?: string;
             iosPushSecret?: string;
         }
         }
         export class ResetLoginEmail extends Request<
         export class ResetLoginEmail extends Request<
@@ -22197,10 +22525,11 @@ export namespace Api {
                 scheduleDate?: int;
                 scheduleDate?: int;
                 sendAs?: Api.TypeEntityLike;
                 sendAs?: Api.TypeEntityLike;
                 quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
                 quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
+                effect?: long;
             }>,
             }>,
             Api.TypeUpdates
             Api.TypeUpdates
         > {
         > {
-            CONSTRUCTOR_ID: 3757573164;
+            CONSTRUCTOR_ID: 2554304325;
             SUBCLASS_OF_ID: 2331323052;
             SUBCLASS_OF_ID: 2331323052;
             classType: "request";
             classType: "request";
             className: "messages.SendMessage";
             className: "messages.SendMessage";
@@ -22222,6 +22551,7 @@ export namespace Api {
             scheduleDate?: int;
             scheduleDate?: int;
             sendAs?: Api.TypeEntityLike;
             sendAs?: Api.TypeEntityLike;
             quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
             quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
+            effect?: long;
         }
         }
         export class SendMedia extends Request<
         export class SendMedia extends Request<
             Partial<{
             Partial<{
@@ -22242,10 +22572,11 @@ export namespace Api {
                 scheduleDate?: int;
                 scheduleDate?: int;
                 sendAs?: Api.TypeEntityLike;
                 sendAs?: Api.TypeEntityLike;
                 quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
                 quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
+                effect?: long;
             }>,
             }>,
             Api.TypeUpdates
             Api.TypeUpdates
         > {
         > {
-            CONSTRUCTOR_ID: 2077646913;
+            CONSTRUCTOR_ID: 2018673486;
             SUBCLASS_OF_ID: 2331323052;
             SUBCLASS_OF_ID: 2331323052;
             classType: "request";
             classType: "request";
             className: "messages.SendMedia";
             className: "messages.SendMedia";
@@ -22267,6 +22598,7 @@ export namespace Api {
             scheduleDate?: int;
             scheduleDate?: int;
             sendAs?: Api.TypeEntityLike;
             sendAs?: Api.TypeEntityLike;
             quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
             quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
+            effect?: long;
         }
         }
         export class ForwardMessages extends Request<
         export class ForwardMessages extends Request<
             Partial<{
             Partial<{
@@ -23683,10 +24015,11 @@ export namespace Api {
                 scheduleDate?: int;
                 scheduleDate?: int;
                 sendAs?: Api.TypeEntityLike;
                 sendAs?: Api.TypeEntityLike;
                 quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
                 quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
+                effect?: long;
             }>,
             }>,
             Api.TypeUpdates
             Api.TypeUpdates
         > {
         > {
-            CONSTRUCTOR_ID: 211175177;
+            CONSTRUCTOR_ID: 934757205;
             SUBCLASS_OF_ID: 2331323052;
             SUBCLASS_OF_ID: 2331323052;
             classType: "request";
             classType: "request";
             className: "messages.SendMultiMedia";
             className: "messages.SendMultiMedia";
@@ -23704,6 +24037,7 @@ export namespace Api {
             scheduleDate?: int;
             scheduleDate?: int;
             sendAs?: Api.TypeEntityLike;
             sendAs?: Api.TypeEntityLike;
             quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
             quickReplyShortcut?: Api.TypeInputQuickReplyShortcut;
+            effect?: long;
         }
         }
         export class UploadEncryptedFile extends Request<
         export class UploadEncryptedFile extends Request<
             Partial<{
             Partial<{
@@ -25694,6 +26028,66 @@ export namespace Api {
             static fromReader(reader: Reader): GetEmojiStickerGroups;
             static fromReader(reader: Reader): GetEmojiStickerGroups;
             hash: int;
             hash: int;
         }
         }
+        export class GetAvailableEffects extends Request<
+            Partial<{
+                hash: int;
+            }>,
+            messages.TypeAvailableEffects
+        > {
+            CONSTRUCTOR_ID: 3735161401;
+            SUBCLASS_OF_ID: 1148245437;
+            classType: "request";
+            className: "messages.GetAvailableEffects";
+            static fromReader(reader: Reader): GetAvailableEffects;
+            hash: int;
+        }
+        export class EditFactCheck extends Request<
+            Partial<{
+                peer: Api.TypeEntityLike;
+                msgId: MessageIDLike;
+                text: Api.TypeTextWithEntities;
+            }>,
+            Api.TypeUpdates
+        > {
+            CONSTRUCTOR_ID: 92925557;
+            SUBCLASS_OF_ID: 2331323052;
+            classType: "request";
+            className: "messages.EditFactCheck";
+            static fromReader(reader: Reader): EditFactCheck;
+            peer: Api.TypeEntityLike;
+            msgId: MessageIDLike;
+            text: Api.TypeTextWithEntities;
+        }
+        export class DeleteFactCheck extends Request<
+            Partial<{
+                peer: Api.TypeEntityLike;
+                msgId: MessageIDLike;
+            }>,
+            Api.TypeUpdates
+        > {
+            CONSTRUCTOR_ID: 3520762892;
+            SUBCLASS_OF_ID: 2331323052;
+            classType: "request";
+            className: "messages.DeleteFactCheck";
+            static fromReader(reader: Reader): DeleteFactCheck;
+            peer: Api.TypeEntityLike;
+            msgId: MessageIDLike;
+        }
+        export class GetFactCheck extends Request<
+            Partial<{
+                peer: Api.TypeEntityLike;
+                msgId: MessageIDLike[];
+            }>,
+            Api.TypeFactCheck[]
+        > {
+            CONSTRUCTOR_ID: 3117270510;
+            SUBCLASS_OF_ID: 3148224531;
+            classType: "request";
+            className: "messages.GetFactCheck";
+            static fromReader(reader: Reader): GetFactCheck;
+            peer: Api.TypeEntityLike;
+            msgId: MessageIDLike[];
+        }
     }
     }
 
 
     export namespace updates {
     export namespace updates {
@@ -27331,6 +27725,27 @@ export namespace Api {
             channel: Api.TypeEntityLike;
             channel: Api.TypeEntityLike;
             restricted: Bool;
             restricted: Bool;
         }
         }
+        export class SearchPosts extends Request<
+            Partial<{
+                hashtag: string;
+                offsetRate: int;
+                offsetPeer: Api.TypeEntityLike;
+                offsetId: int;
+                limit: int;
+            }>,
+            messages.TypeMessages
+        > {
+            CONSTRUCTOR_ID: 3516897403;
+            SUBCLASS_OF_ID: 3568569182;
+            classType: "request";
+            className: "channels.SearchPosts";
+            static fromReader(reader: Reader): SearchPosts;
+            hashtag: string;
+            offsetRate: int;
+            offsetPeer: Api.TypeEntityLike;
+            offsetId: int;
+            limit: int;
+        }
     }
     }
 
 
     export namespace bots {
     export namespace bots {
@@ -27830,6 +28245,82 @@ export namespace Api {
             giveawayId: long;
             giveawayId: long;
             purpose: Api.TypeInputStorePaymentPurpose;
             purpose: Api.TypeInputStorePaymentPurpose;
         }
         }
+        export class GetStarsTopupOptions extends Request<
+            void,
+            Api.TypeStarsTopupOption[]
+        > {
+            CONSTRUCTOR_ID: 3222194131;
+            SUBCLASS_OF_ID: 3573451417;
+            classType: "request";
+            className: "payments.GetStarsTopupOptions";
+            static fromReader(reader: Reader): GetStarsTopupOptions;
+        }
+        export class GetStarsStatus extends Request<
+            Partial<{
+                peer: Api.TypeEntityLike;
+            }>,
+            payments.TypeStarsStatus
+        > {
+            CONSTRUCTOR_ID: 273665959;
+            SUBCLASS_OF_ID: 1855724911;
+            classType: "request";
+            className: "payments.GetStarsStatus";
+            static fromReader(reader: Reader): GetStarsStatus;
+            peer: Api.TypeEntityLike;
+        }
+        export class GetStarsTransactions extends Request<
+            Partial<{
+                // flags: null;
+                inbound?: boolean;
+                outbound?: boolean;
+                peer: Api.TypeEntityLike;
+                offset: string;
+            }>,
+            payments.TypeStarsStatus
+        > {
+            CONSTRUCTOR_ID: 1731904249;
+            SUBCLASS_OF_ID: 1855724911;
+            classType: "request";
+            className: "payments.GetStarsTransactions";
+            static fromReader(reader: Reader): GetStarsTransactions;
+            // flags: null;
+            inbound?: boolean;
+            outbound?: boolean;
+            peer: Api.TypeEntityLike;
+            offset: string;
+        }
+        export class SendStarsForm extends Request<
+            Partial<{
+                // flags: null;
+                formId: long;
+                invoice: Api.TypeInputInvoice;
+            }>,
+            payments.TypePaymentResult
+        > {
+            CONSTRUCTOR_ID: 45839133;
+            SUBCLASS_OF_ID: 2330028701;
+            classType: "request";
+            className: "payments.SendStarsForm";
+            static fromReader(reader: Reader): SendStarsForm;
+            // flags: null;
+            formId: long;
+            invoice: Api.TypeInputInvoice;
+        }
+        export class RefundStarsCharge extends Request<
+            Partial<{
+                userId: Api.TypeEntityLike;
+                chargeId: string;
+            }>,
+            Api.TypeUpdates
+        > {
+            CONSTRUCTOR_ID: 632196938;
+            SUBCLASS_OF_ID: 2331323052;
+            classType: "request";
+            className: "payments.RefundStarsCharge";
+            static fromReader(reader: Reader): RefundStarsCharge;
+            userId: Api.TypeEntityLike;
+            chargeId: string;
+        }
     }
     }
 
 
     export namespace stickers {
     export namespace stickers {
@@ -29923,7 +30414,9 @@ export namespace Api {
         | UpdateBotNewBusinessMessage
         | UpdateBotNewBusinessMessage
         | UpdateBotEditBusinessMessage
         | UpdateBotEditBusinessMessage
         | UpdateBotDeleteBusinessMessage
         | UpdateBotDeleteBusinessMessage
-        | UpdateNewStoryReaction;
+        | UpdateNewStoryReaction
+        | UpdateBroadcastRevenueTransactions
+        | UpdateStarsBalance;
     export type TypeUpdates =
     export type TypeUpdates =
         | UpdatesTooLong
         | UpdatesTooLong
         | UpdateShortMessage
         | UpdateShortMessage
@@ -30535,12 +31028,14 @@ export namespace Api {
     export type TypeInputInvoice =
     export type TypeInputInvoice =
         | InputInvoiceMessage
         | InputInvoiceMessage
         | InputInvoiceSlug
         | InputInvoiceSlug
-        | InputInvoicePremiumGiftCode;
+        | InputInvoicePremiumGiftCode
+        | InputInvoiceStars;
     export type TypeInputStorePaymentPurpose =
     export type TypeInputStorePaymentPurpose =
         | InputStorePaymentPremiumSubscription
         | InputStorePaymentPremiumSubscription
         | InputStorePaymentGiftPremium
         | InputStorePaymentGiftPremium
         | InputStorePaymentPremiumGiftCode
         | InputStorePaymentPremiumGiftCode
-        | InputStorePaymentPremiumGiveaway;
+        | InputStorePaymentPremiumGiveaway
+        | InputStorePaymentStars;
     export type TypePremiumGiftOption = PremiumGiftOption;
     export type TypePremiumGiftOption = PremiumGiftOption;
     export type TypePaymentFormMethod = PaymentFormMethod;
     export type TypePaymentFormMethod = PaymentFormMethod;
     export type TypeEmojiStatus =
     export type TypeEmojiStatus =
@@ -30678,6 +31173,17 @@ export namespace Api {
         | ReactionNotificationsFromAll;
         | ReactionNotificationsFromAll;
     export type TypeReactionsNotifySettings = ReactionsNotifySettings;
     export type TypeReactionsNotifySettings = ReactionsNotifySettings;
     export type TypeBroadcastRevenueBalances = BroadcastRevenueBalances;
     export type TypeBroadcastRevenueBalances = BroadcastRevenueBalances;
+    export type TypeAvailableEffect = AvailableEffect;
+    export type TypeFactCheck = FactCheck;
+    export type TypeStarsTransactionPeer =
+        | StarsTransactionPeerUnsupported
+        | StarsTransactionPeerAppStore
+        | StarsTransactionPeerPlayMarket
+        | StarsTransactionPeerPremiumBot
+        | StarsTransactionPeerFragment
+        | StarsTransactionPeer;
+    export type TypeStarsTopupOption = StarsTopupOption;
+    export type TypeStarsTransaction = StarsTransaction;
     export type TypeResPQ = ResPQ;
     export type TypeResPQ = ResPQ;
     export type TypeP_Q_inner_data =
     export type TypeP_Q_inner_data =
         | PQInnerData
         | PQInnerData
@@ -30736,6 +31242,8 @@ export namespace Api {
         | InvokeWithMessagesRange
         | InvokeWithMessagesRange
         | InvokeWithTakeout
         | InvokeWithTakeout
         | InvokeWithBusinessConnection
         | InvokeWithBusinessConnection
+        | InvokeWithGooglePlayIntegrity
+        | InvokeWithApnsSecret
         | ReqPq
         | ReqPq
         | ReqPqMulti
         | ReqPqMulti
         | ReqDHParams
         | ReqDHParams
@@ -31120,6 +31628,10 @@ export namespace Api {
         | messages.ToggleDialogFilterTags
         | messages.ToggleDialogFilterTags
         | messages.GetMyStickers
         | messages.GetMyStickers
         | messages.GetEmojiStickerGroups
         | messages.GetEmojiStickerGroups
+        | messages.GetAvailableEffects
+        | messages.EditFactCheck
+        | messages.DeleteFactCheck
+        | messages.GetFactCheck
         | updates.GetState
         | updates.GetState
         | updates.GetDifference
         | updates.GetDifference
         | updates.GetChannelDifference
         | updates.GetChannelDifference
@@ -31225,6 +31737,7 @@ export namespace Api {
         | channels.SetEmojiStickers
         | channels.SetEmojiStickers
         | channels.ReportSponsoredMessage
         | channels.ReportSponsoredMessage
         | channels.RestrictSponsoredMessages
         | channels.RestrictSponsoredMessages
+        | channels.SearchPosts
         | bots.SendCustomRequest
         | bots.SendCustomRequest
         | bots.AnswerWebhookJSONQuery
         | bots.AnswerWebhookJSONQuery
         | bots.SetBotCommands
         | bots.SetBotCommands
@@ -31257,6 +31770,11 @@ export namespace Api {
         | payments.ApplyGiftCode
         | payments.ApplyGiftCode
         | payments.GetGiveawayInfo
         | payments.GetGiveawayInfo
         | payments.LaunchPrepaidGiveaway
         | payments.LaunchPrepaidGiveaway
+        | payments.GetStarsTopupOptions
+        | payments.GetStarsStatus
+        | payments.GetStarsTransactions
+        | payments.SendStarsForm
+        | payments.RefundStarsCharge
         | stickers.CreateStickerSet
         | stickers.CreateStickerSet
         | stickers.RemoveStickerFromSet
         | stickers.RemoveStickerFromSet
         | stickers.ChangeStickerPosition
         | stickers.ChangeStickerPosition

+ 40 - 9
gramjs/tl/apiTl.js

@@ -29,7 +29,7 @@ inputMediaVenue#c13d1c11 geo_point:InputGeoPoint title:string address:string pro
 inputMediaPhotoExternal#e5bbfe1a flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaPhotoExternal#e5bbfe1a flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaDocumentExternal#fb52dc99 flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaDocumentExternal#fb52dc99 flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaGame#d33f43f3 id:InputGame = InputMedia;
 inputMediaGame#d33f43f3 id:InputGame = InputMedia;
-inputMediaInvoice#8eb5a6d5 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:flags.1?string extended_media:flags.2?InputMedia = InputMedia;
+inputMediaInvoice#405fef0d flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:flags.3?string provider_data:DataJSON start_param:flags.1?string extended_media:flags.2?InputMedia = InputMedia;
 inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
 inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
 inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
 inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
 inputMediaDice#e66fbf7b emoticon:string = InputMedia;
 inputMediaDice#e66fbf7b emoticon:string = InputMedia;
@@ -90,7 +90,7 @@ chatParticipants#3cbc93f8 chat_id:long participants:Vector<ChatParticipant> vers
 chatPhotoEmpty#37c1011c = ChatPhoto;
 chatPhotoEmpty#37c1011c = ChatPhoto;
 chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto;
 chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto;
 messageEmpty#90a6ca84 flags:# id:int peer_id:flags.0?Peer = Message;
 messageEmpty#90a6ca84 flags:# id:int peer_id:flags.0?Peer = Message;
-message#2357bf25 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int = Message;
+message#94345242 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int effect:flags2.2?long factcheck:flags2.3?FactCheck = Message;
 messageService#2b085862 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction ttl_period:flags.25?int = Message;
 messageService#2b085862 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction ttl_period:flags.25?int = Message;
 messageMediaEmpty#3ded6320 = MessageMedia;
 messageMediaEmpty#3ded6320 = MessageMedia;
 messageMediaPhoto#695150d7 flags:# spoiler:flags.3?true photo:flags.0?Photo ttl_seconds:flags.2?int = MessageMedia;
 messageMediaPhoto#695150d7 flags:# spoiler:flags.3?true photo:flags.0?Photo ttl_seconds:flags.2?int = MessageMedia;
@@ -360,6 +360,8 @@ updateBotNewBusinessMessage#9ddb347c flags:# connection_id:string message:Messag
 updateBotEditBusinessMessage#7df587c flags:# connection_id:string message:Message reply_to_message:flags.0?Message qts:int = Update;
 updateBotEditBusinessMessage#7df587c flags:# connection_id:string message:Message reply_to_message:flags.0?Message qts:int = Update;
 updateBotDeleteBusinessMessage#a02a982e connection_id:string peer:Peer messages:Vector<int> qts:int = Update;
 updateBotDeleteBusinessMessage#a02a982e connection_id:string peer:Peer messages:Vector<int> qts:int = Update;
 updateNewStoryReaction#1824e40b story_id:int peer:Peer reaction:Reaction = Update;
 updateNewStoryReaction#1824e40b story_id:int peer:Peer reaction:Reaction = Update;
+updateBroadcastRevenueTransactions#dfd961f5 peer:Peer balances:BroadcastRevenueBalances = Update;
+updateStarsBalance#fb85198 balance:long = Update;
 updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
 updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
 updates.differenceEmpty#5d75a138 date:int seq:int = updates.Difference;
 updates.differenceEmpty#5d75a138 date:int seq:int = updates.Difference;
 updates.difference#f49ca0 new_messages:Vector<Message> new_encrypted_messages:Vector<EncryptedMessage> other_updates:Vector<Update> chats:Vector<Chat> users:Vector<User> state:updates.State = updates.Difference;
 updates.difference#f49ca0 new_messages:Vector<Message> new_encrypted_messages:Vector<EncryptedMessage> other_updates:Vector<Update> chats:Vector<Chat> users:Vector<User> state:updates.State = updates.Difference;
@@ -562,7 +564,7 @@ messageEntityStrike#bf0693d4 offset:int length:int = MessageEntity;
 messageEntityBankCard#761e6af4 offset:int length:int = MessageEntity;
 messageEntityBankCard#761e6af4 offset:int length:int = MessageEntity;
 messageEntitySpoiler#32ca960f offset:int length:int = MessageEntity;
 messageEntitySpoiler#32ca960f offset:int length:int = MessageEntity;
 messageEntityCustomEmoji#c8cf05f8 offset:int length:int document_id:long = MessageEntity;
 messageEntityCustomEmoji#c8cf05f8 offset:int length:int document_id:long = MessageEntity;
-messageEntityBlockquote#20df5d0 offset:int length:int = MessageEntity;
+messageEntityBlockquote#f1ccaaac flags:# collapsed:flags.0?true offset:int length:int = MessageEntity;
 inputChannelEmpty#ee8c1e86 = InputChannel;
 inputChannelEmpty#ee8c1e86 = InputChannel;
 inputChannel#f35aec28 channel_id:long access_hash:long = InputChannel;
 inputChannel#f35aec28 channel_id:long access_hash:long = InputChannel;
 inputChannelFromMessage#5b934f9d peer:InputPeer msg_id:int channel_id:long = InputChannel;
 inputChannelFromMessage#5b934f9d peer:InputPeer msg_id:int channel_id:long = InputChannel;
@@ -630,7 +632,7 @@ auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeTyp
 auth.sentCodeTypeEmailCode#f450f59b flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int reset_available_period:flags.3?int reset_pending_date:flags.4?int = auth.SentCodeType;
 auth.sentCodeTypeEmailCode#f450f59b flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int reset_available_period:flags.3?int reset_pending_date:flags.4?int = auth.SentCodeType;
 auth.sentCodeTypeSetUpEmailRequired#a5491dea flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true = auth.SentCodeType;
 auth.sentCodeTypeSetUpEmailRequired#a5491dea flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true = auth.SentCodeType;
 auth.sentCodeTypeFragmentSms#d9565c39 url:string length:int = auth.SentCodeType;
 auth.sentCodeTypeFragmentSms#d9565c39 url:string length:int = auth.SentCodeType;
-auth.sentCodeTypeFirebaseSms#e57b1432 flags:# nonce:flags.0?bytes receipt:flags.1?string push_timeout:flags.1?int length:int = auth.SentCodeType;
+auth.sentCodeTypeFirebaseSms#13c90f17 flags:# nonce:flags.0?bytes play_integrity_nonce:flags.2?bytes receipt:flags.1?string push_timeout:flags.1?int length:int = auth.SentCodeType;
 auth.sentCodeTypeSmsWord#a416ac81 flags:# beginning:flags.0?string = auth.SentCodeType;
 auth.sentCodeTypeSmsWord#a416ac81 flags:# beginning:flags.0?string = auth.SentCodeType;
 auth.sentCodeTypeSmsPhrase#b37794af flags:# beginning:flags.0?string = auth.SentCodeType;
 auth.sentCodeTypeSmsPhrase#b37794af flags:# beginning:flags.0?string = auth.SentCodeType;
 messages.botCallbackAnswer#36585ea4 flags:# alert:flags.1?true has_url:flags.3?true native_ui:flags.4?true message:flags.0?string url:flags.2?string cache_time:int = messages.BotCallbackAnswer;
 messages.botCallbackAnswer#36585ea4 flags:# alert:flags.1?true has_url:flags.3?true native_ui:flags.4?true message:flags.0?string url:flags.2?string cache_time:int = messages.BotCallbackAnswer;
@@ -737,10 +739,12 @@ inputWebFileGeoPointLocation#9f2221c9 geo_point:InputGeoPoint access_hash:long w
 inputWebFileAudioAlbumThumbLocation#f46fe924 flags:# small:flags.2?true document:flags.0?InputDocument title:flags.1?string performer:flags.1?string = InputWebFileLocation;
 inputWebFileAudioAlbumThumbLocation#f46fe924 flags:# small:flags.2?true document:flags.0?InputDocument title:flags.1?string performer:flags.1?string = InputWebFileLocation;
 upload.webFile#21e753bc size:int mime_type:string file_type:storage.FileType mtime:int bytes:bytes = upload.WebFile;
 upload.webFile#21e753bc size:int mime_type:string file_type:storage.FileType mtime:int bytes:bytes = upload.WebFile;
 payments.paymentForm#a0058751 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true form_id:long bot_id:long title:string description:string photo:flags.5?WebDocument invoice:Invoice provider_id:long url:string native_provider:flags.4?string native_params:flags.4?DataJSON additional_methods:flags.6?Vector<PaymentFormMethod> saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?Vector<PaymentSavedCredentials> users:Vector<User> = payments.PaymentForm;
 payments.paymentForm#a0058751 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true form_id:long bot_id:long title:string description:string photo:flags.5?WebDocument invoice:Invoice provider_id:long url:string native_provider:flags.4?string native_params:flags.4?DataJSON additional_methods:flags.6?Vector<PaymentFormMethod> saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?Vector<PaymentSavedCredentials> users:Vector<User> = payments.PaymentForm;
+payments.paymentFormStars#7bf6b15c flags:# form_id:long bot_id:long title:string description:string photo:flags.5?WebDocument invoice:Invoice users:Vector<User> = payments.PaymentForm;
 payments.validatedRequestedInfo#d1451883 flags:# id:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = payments.ValidatedRequestedInfo;
 payments.validatedRequestedInfo#d1451883 flags:# id:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = payments.ValidatedRequestedInfo;
 payments.paymentResult#4e5f810d updates:Updates = payments.PaymentResult;
 payments.paymentResult#4e5f810d updates:Updates = payments.PaymentResult;
 payments.paymentVerificationNeeded#d8411139 url:string = payments.PaymentResult;
 payments.paymentVerificationNeeded#d8411139 url:string = payments.PaymentResult;
 payments.paymentReceipt#70c4fe03 flags:# date:int bot_id:long provider_id:long title:string description:string photo:flags.2?WebDocument invoice:Invoice info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption tip_amount:flags.3?long currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
 payments.paymentReceipt#70c4fe03 flags:# date:int bot_id:long provider_id:long title:string description:string photo:flags.2?WebDocument invoice:Invoice info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption tip_amount:flags.3?long currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
+payments.paymentReceiptStars#dabbf83a flags:# date:int bot_id:long title:string description:string photo:flags.2?WebDocument invoice:Invoice currency:string total_amount:long transaction_id:string users:Vector<User> = payments.PaymentReceipt;
 payments.savedInfo#fb8fe43c flags:# has_saved_credentials:flags.1?true saved_info:flags.0?PaymentRequestedInfo = payments.SavedInfo;
 payments.savedInfo#fb8fe43c flags:# has_saved_credentials:flags.1?true saved_info:flags.0?PaymentRequestedInfo = payments.SavedInfo;
 inputPaymentCredentialsSaved#c10eb2cf id:string tmp_password:bytes = InputPaymentCredentials;
 inputPaymentCredentialsSaved#c10eb2cf id:string tmp_password:bytes = InputPaymentCredentials;
 inputPaymentCredentials#3417d728 flags:# save:flags.0?true data:DataJSON = InputPaymentCredentials;
 inputPaymentCredentials#3417d728 flags:# save:flags.0?true data:DataJSON = InputPaymentCredentials;
@@ -1094,6 +1098,7 @@ attachMenuPeerTypeBroadcast#7bfbdefc = AttachMenuPeerType;
 inputInvoiceMessage#c5b56859 peer:InputPeer msg_id:int = InputInvoice;
 inputInvoiceMessage#c5b56859 peer:InputPeer msg_id:int = InputInvoice;
 inputInvoiceSlug#c326caef slug:string = InputInvoice;
 inputInvoiceSlug#c326caef slug:string = InputInvoice;
 inputInvoicePremiumGiftCode#98986c0d purpose:InputStorePaymentPurpose option:PremiumGiftCodeOption = InputInvoice;
 inputInvoicePremiumGiftCode#98986c0d purpose:InputStorePaymentPurpose option:PremiumGiftCodeOption = InputInvoice;
+inputInvoiceStars#1da33ad8 option:StarsTopupOption = InputInvoice;
 payments.exportedInvoice#aed0cbd9 url:string = payments.ExportedInvoice;
 payments.exportedInvoice#aed0cbd9 url:string = payments.ExportedInvoice;
 messages.transcribedAudio#cfb9d957 flags:# pending:flags.0?true transcription_id:long text:string trial_remains_num:flags.1?int trial_remains_until_date:flags.1?int = messages.TranscribedAudio;
 messages.transcribedAudio#cfb9d957 flags:# pending:flags.0?true transcription_id:long text:string trial_remains_num:flags.1?int trial_remains_until_date:flags.1?int = messages.TranscribedAudio;
 help.premiumPromo#5334759c status_text:string status_entities:Vector<MessageEntity> video_sections:Vector<string> videos:Vector<Document> period_options:Vector<PremiumSubscriptionOption> users:Vector<User> = help.PremiumPromo;
 help.premiumPromo#5334759c status_text:string status_entities:Vector<MessageEntity> video_sections:Vector<string> videos:Vector<Document> period_options:Vector<PremiumSubscriptionOption> users:Vector<User> = help.PremiumPromo;
@@ -1101,6 +1106,7 @@ inputStorePaymentPremiumSubscription#a6751e66 flags:# restore:flags.0?true upgra
 inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_peer:flags.0?InputPeer currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_peer:flags.0?InputPeer currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
+inputStorePaymentStars#4f0ee8df flags:# stars:long currency:string amount:long = InputStorePaymentPurpose;
 premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
 premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
 paymentFormMethod#88f8f21b url:string title:string = PaymentFormMethod;
 paymentFormMethod#88f8f21b url:string title:string = PaymentFormMethod;
 emojiStatusEmpty#2de11aae = EmojiStatus;
 emojiStatusEmpty#2de11aae = EmojiStatus;
@@ -1293,6 +1299,19 @@ reactionNotificationsFromContacts#bac3a61a = ReactionNotificationsFrom;
 reactionNotificationsFromAll#4b9e22a0 = ReactionNotificationsFrom;
 reactionNotificationsFromAll#4b9e22a0 = ReactionNotificationsFrom;
 reactionsNotifySettings#56e34970 flags:# messages_notify_from:flags.0?ReactionNotificationsFrom stories_notify_from:flags.1?ReactionNotificationsFrom sound:NotificationSound show_previews:Bool = ReactionsNotifySettings;
 reactionsNotifySettings#56e34970 flags:# messages_notify_from:flags.0?ReactionNotificationsFrom stories_notify_from:flags.1?ReactionNotificationsFrom sound:NotificationSound show_previews:Bool = ReactionsNotifySettings;
 broadcastRevenueBalances#8438f1c6 current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
 broadcastRevenueBalances#8438f1c6 current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
+availableEffect#93c3e27e flags:# premium_required:flags.2?true id:long emoticon:string static_icon_id:flags.0?long effect_sticker_id:long effect_animation_id:flags.1?long = AvailableEffect;
+messages.availableEffectsNotModified#d1ed9a5b = messages.AvailableEffects;
+messages.availableEffects#bddb616e hash:int effects:Vector<AvailableEffect> documents:Vector<Document> = messages.AvailableEffects;
+factCheck#b89bfccf flags:# need_check:flags.0?true country:flags.1?string text:flags.1?TextWithEntities hash:long = FactCheck;
+starsTransactionPeerUnsupported#95f2bfe4 = StarsTransactionPeer;
+starsTransactionPeerAppStore#b457b375 = StarsTransactionPeer;
+starsTransactionPeerPlayMarket#7b560a0b = StarsTransactionPeer;
+starsTransactionPeerPremiumBot#250dbaf8 = StarsTransactionPeer;
+starsTransactionPeerFragment#e92fd902 = StarsTransactionPeer;
+starsTransactionPeer#d80da15d peer:Peer = StarsTransactionPeer;
+starsTopupOption#bd915c0 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsTopupOption;
+starsTransaction#cc7079b2 flags:# refund:flags.3?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument = StarsTransaction;
+payments.starsStatus#8cf4ee60 flags:# balance:long history:Vector<StarsTransaction> next_offset:flags.0?string chats:Vector<Chat> users:Vector<User> = payments.StarsStatus;
 ---functions---
 ---functions---
 invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
 invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
 invokeAfterMsgs#3dc4b4f0 {X:Type} msg_ids:Vector<long> query:!X = X;
 invokeAfterMsgs#3dc4b4f0 {X:Type} msg_ids:Vector<long> query:!X = X;
@@ -1302,6 +1321,8 @@ invokeWithoutUpdates#bf9459b7 {X:Type} query:!X = X;
 invokeWithMessagesRange#365275f2 {X:Type} range:MessageRange query:!X = X;
 invokeWithMessagesRange#365275f2 {X:Type} range:MessageRange query:!X = X;
 invokeWithTakeout#aca9fd2e {X:Type} takeout_id:long query:!X = X;
 invokeWithTakeout#aca9fd2e {X:Type} takeout_id:long query:!X = X;
 invokeWithBusinessConnection#dd289f8e {X:Type} connection_id:string query:!X = X;
 invokeWithBusinessConnection#dd289f8e {X:Type} connection_id:string query:!X = X;
+invokeWithGooglePlayIntegrity#1df92984 {X:Type} nonce:string token:string query:!X = X;
+invokeWithApnsSecret#0dae54f8 {X:Type} nonce:string secret:string query:!X = X;
 auth.sendCode#a677244f phone_number:string api_id:int api_hash:string settings:CodeSettings = auth.SentCode;
 auth.sendCode#a677244f phone_number:string api_id:int api_hash:string settings:CodeSettings = auth.SentCode;
 auth.signUp#aac7b717 flags:# no_joined_notifications:flags.0?true phone_number:string phone_code_hash:string first_name:string last_name:string = auth.Authorization;
 auth.signUp#aac7b717 flags:# no_joined_notifications:flags.0?true phone_number:string phone_code_hash:string first_name:string last_name:string = auth.Authorization;
 auth.signIn#8d52a951 flags:# phone_number:string phone_code_hash:string phone_code:flags.0?string email_verification:flags.1?EmailVerification = auth.Authorization;
 auth.signIn#8d52a951 flags:# phone_number:string phone_code_hash:string phone_code:flags.0?string email_verification:flags.1?EmailVerification = auth.Authorization;
@@ -1314,7 +1335,7 @@ auth.importBotAuthorization#67a3ff2c flags:int api_id:int api_hash:string bot_au
 auth.checkPassword#d18b4d16 password:InputCheckPasswordSRP = auth.Authorization;
 auth.checkPassword#d18b4d16 password:InputCheckPasswordSRP = auth.Authorization;
 auth.requestPasswordRecovery#d897bc66 = auth.PasswordRecovery;
 auth.requestPasswordRecovery#d897bc66 = auth.PasswordRecovery;
 auth.recoverPassword#37096c70 flags:# code:string new_settings:flags.0?account.PasswordInputSettings = auth.Authorization;
 auth.recoverPassword#37096c70 flags:# code:string new_settings:flags.0?account.PasswordInputSettings = auth.Authorization;
-auth.resendCode#3ef1a9bf phone_number:string phone_code_hash:string = auth.SentCode;
+auth.resendCode#cae47523 flags:# phone_number:string phone_code_hash:string reason:flags.0?string = auth.SentCode;
 auth.cancelCode#1f040578 phone_number:string phone_code_hash:string = Bool;
 auth.cancelCode#1f040578 phone_number:string phone_code_hash:string = Bool;
 auth.dropTempAuthKeys#8e48a188 except_auth_keys:Vector<long> = Bool;
 auth.dropTempAuthKeys#8e48a188 except_auth_keys:Vector<long> = Bool;
 auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long> = auth.LoginToken;
 auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long> = auth.LoginToken;
@@ -1322,7 +1343,7 @@ auth.importLoginToken#95ac5ce4 token:bytes = auth.LoginToken;
 auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
 auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
 auth.checkRecoveryPassword#d36bf79 code:string = Bool;
 auth.checkRecoveryPassword#d36bf79 code:string = Bool;
 auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
 auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
-auth.requestFirebaseSms#89464b50 flags:# phone_number:string phone_code_hash:string safety_net_token:flags.0?string ios_push_secret:flags.1?string = Bool;
+auth.requestFirebaseSms#8e39261e flags:# phone_number:string phone_code_hash:string safety_net_token:flags.0?string play_integrity_token:flags.2?string ios_push_secret:flags.1?string = Bool;
 auth.resetLoginEmail#7e960193 phone_number:string phone_code_hash:string = auth.SentCode;
 auth.resetLoginEmail#7e960193 phone_number:string phone_code_hash:string = auth.SentCode;
 auth.reportMissingCode#cb9deff6 phone_number:string phone_code_hash:string mnc:string = Bool;
 auth.reportMissingCode#cb9deff6 phone_number:string phone_code_hash:string mnc:string = Bool;
 account.registerDevice#ec86017a flags:# no_muted:flags.0?true token_type:int token:string app_sandbox:Bool secret:bytes other_uids:Vector<long> = Bool;
 account.registerDevice#ec86017a flags:# no_muted:flags.0?true token_type:int token:string app_sandbox:Bool secret:bytes other_uids:Vector<long> = Bool;
@@ -1476,8 +1497,8 @@ messages.deleteHistory#b08f922a flags:# just_clear:flags.0?true revoke:flags.1?t
 messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
 messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
 messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
 messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
 messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
 messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
-messages.sendMessage#dff8042c flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
-messages.sendMedia#7bd66041 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
+messages.sendMessage#983f9745 flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long = Updates;
+messages.sendMedia#7852834e flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long = Updates;
 messages.forwardMessages#d5039208 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
 messages.forwardMessages#d5039208 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
 messages.reportSpam#cf1592db peer:InputPeer = Bool;
 messages.reportSpam#cf1592db peer:InputPeer = Bool;
 messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
 messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
@@ -1556,7 +1577,7 @@ messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
 messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
 messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
 messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
 messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
 messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
 messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
-messages.sendMultiMedia#c964709 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
+messages.sendMultiMedia#37b74355 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long = Updates;
 messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
 messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
 messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
 messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
 messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
 messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
@@ -1676,6 +1697,10 @@ messages.deleteQuickReplyMessages#e105e910 shortcut_id:int id:Vector<int> = Upda
 messages.toggleDialogFilterTags#fd2dda49 enabled:Bool = Bool;
 messages.toggleDialogFilterTags#fd2dda49 enabled:Bool = Bool;
 messages.getMyStickers#d0b5e1fc offset_id:long limit:int = messages.MyStickers;
 messages.getMyStickers#d0b5e1fc offset_id:long limit:int = messages.MyStickers;
 messages.getEmojiStickerGroups#1dd840f5 hash:int = messages.EmojiGroups;
 messages.getEmojiStickerGroups#1dd840f5 hash:int = messages.EmojiGroups;
+messages.getAvailableEffects#dea20a39 hash:int = messages.AvailableEffects;
+messages.editFactCheck#589ee75 peer:InputPeer msg_id:int text:TextWithEntities = Updates;
+messages.deleteFactCheck#d1da940c peer:InputPeer msg_id:int = Updates;
+messages.getFactCheck#b9cdc5ee peer:InputPeer msg_id:Vector<int> = Vector<FactCheck>;
 updates.getState#edd4882a = updates.State;
 updates.getState#edd4882a = updates.State;
 updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
 updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
 updates.getChannelDifference#3173d78 flags:# force:flags.0?true channel:InputChannel filter:ChannelMessagesFilter pts:int limit:int = updates.ChannelDifference;
 updates.getChannelDifference#3173d78 flags:# force:flags.0?true channel:InputChannel filter:ChannelMessagesFilter pts:int limit:int = updates.ChannelDifference;
@@ -1781,6 +1806,7 @@ channels.setBoostsToUnblockRestrictions#ad399cee channel:InputChannel boosts:int
 channels.setEmojiStickers#3cd930b7 channel:InputChannel stickerset:InputStickerSet = Bool;
 channels.setEmojiStickers#3cd930b7 channel:InputChannel stickerset:InputStickerSet = Bool;
 channels.reportSponsoredMessage#af8ff6b9 channel:InputChannel random_id:bytes option:bytes = channels.SponsoredMessageReportResult;
 channels.reportSponsoredMessage#af8ff6b9 channel:InputChannel random_id:bytes option:bytes = channels.SponsoredMessageReportResult;
 channels.restrictSponsoredMessages#9ae91519 channel:InputChannel restricted:Bool = Updates;
 channels.restrictSponsoredMessages#9ae91519 channel:InputChannel restricted:Bool = Updates;
+channels.searchPosts#d19f987b hashtag:string offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
 bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
 bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
 bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
 bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
 bots.setBotCommands#517165a scope:BotCommandScope lang_code:string commands:Vector<BotCommand> = Bool;
 bots.setBotCommands#517165a scope:BotCommandScope lang_code:string commands:Vector<BotCommand> = Bool;
@@ -1813,6 +1839,11 @@ payments.checkGiftCode#8e51b4c1 slug:string = payments.CheckedGiftCode;
 payments.applyGiftCode#f6e26854 slug:string = Updates;
 payments.applyGiftCode#f6e26854 slug:string = Updates;
 payments.getGiveawayInfo#f4239425 peer:InputPeer msg_id:int = payments.GiveawayInfo;
 payments.getGiveawayInfo#f4239425 peer:InputPeer msg_id:int = payments.GiveawayInfo;
 payments.launchPrepaidGiveaway#5ff58f20 peer:InputPeer giveaway_id:long purpose:InputStorePaymentPurpose = Updates;
 payments.launchPrepaidGiveaway#5ff58f20 peer:InputPeer giveaway_id:long purpose:InputStorePaymentPurpose = Updates;
+payments.getStarsTopupOptions#c00ec7d3 = Vector<StarsTopupOption>;
+payments.getStarsStatus#104fcfa7 peer:InputPeer = payments.StarsStatus;
+payments.getStarsTransactions#673ac2f9 flags:# inbound:flags.0?true outbound:flags.1?true peer:InputPeer offset:string = payments.StarsStatus;
+payments.sendStarsForm#2bb731d flags:# form_id:long invoice:InputInvoice = payments.PaymentResult;
+payments.refundStarsCharge#25ae8f4a user_id:InputUser charge_id:string = Updates;
 stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
 stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
 stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
 stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
 stickers.changeStickerPosition#ffb6d4ca sticker:InputDocument position:int = messages.StickerSet;
 stickers.changeStickerPosition#ffb6d4ca sticker:InputDocument position:int = messages.StickerSet;

+ 48 - 10
gramjs/tl/static/api.tl

@@ -38,7 +38,7 @@ inputMediaVenue#c13d1c11 geo_point:InputGeoPoint title:string address:string pro
 inputMediaPhotoExternal#e5bbfe1a flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaPhotoExternal#e5bbfe1a flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaDocumentExternal#fb52dc99 flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaDocumentExternal#fb52dc99 flags:# spoiler:flags.1?true url:string ttl_seconds:flags.0?int = InputMedia;
 inputMediaGame#d33f43f3 id:InputGame = InputMedia;
 inputMediaGame#d33f43f3 id:InputGame = InputMedia;
-inputMediaInvoice#8eb5a6d5 flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:string provider_data:DataJSON start_param:flags.1?string extended_media:flags.2?InputMedia = InputMedia;
+inputMediaInvoice#405fef0d flags:# title:string description:string photo:flags.0?InputWebDocument invoice:Invoice payload:bytes provider:flags.3?string provider_data:DataJSON start_param:flags.1?string extended_media:flags.2?InputMedia = InputMedia;
 inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
 inputMediaGeoLive#971fa843 flags:# stopped:flags.0?true geo_point:InputGeoPoint heading:flags.2?int period:flags.1?int proximity_notification_radius:flags.3?int = InputMedia;
 inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
 inputMediaPoll#f94e5f1 flags:# poll:Poll correct_answers:flags.0?Vector<bytes> solution:flags.1?string solution_entities:flags.1?Vector<MessageEntity> = InputMedia;
 inputMediaDice#e66fbf7b emoticon:string = InputMedia;
 inputMediaDice#e66fbf7b emoticon:string = InputMedia;
@@ -114,7 +114,7 @@ chatPhotoEmpty#37c1011c = ChatPhoto;
 chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto;
 chatPhoto#1c6e1c11 flags:# has_video:flags.0?true photo_id:long stripped_thumb:flags.1?bytes dc_id:int = ChatPhoto;
 
 
 messageEmpty#90a6ca84 flags:# id:int peer_id:flags.0?Peer = Message;
 messageEmpty#90a6ca84 flags:# id:int peer_id:flags.0?Peer = Message;
-message#2357bf25 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int = Message;
+message#94345242 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true legacy:flags.19?true edit_hide:flags.21?true pinned:flags.24?true noforwards:flags.26?true invert_media:flags.27?true flags2:# offline:flags2.1?true id:int from_id:flags.8?Peer from_boosts_applied:flags.29?int peer_id:Peer saved_peer_id:flags.28?Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?long via_business_bot_id:flags2.0?long reply_to:flags.3?MessageReplyHeader date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int forwards:flags.10?int replies:flags.23?MessageReplies edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long reactions:flags.20?MessageReactions restriction_reason:flags.22?Vector<RestrictionReason> ttl_period:flags.25?int quick_reply_shortcut_id:flags.30?int effect:flags2.2?long factcheck:flags2.3?FactCheck = Message;
 messageService#2b085862 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction ttl_period:flags.25?int = Message;
 messageService#2b085862 flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true legacy:flags.19?true id:int from_id:flags.8?Peer peer_id:Peer reply_to:flags.3?MessageReplyHeader date:int action:MessageAction ttl_period:flags.25?int = Message;
 
 
 messageMediaEmpty#3ded6320 = MessageMedia;
 messageMediaEmpty#3ded6320 = MessageMedia;
@@ -413,6 +413,8 @@ updateBotNewBusinessMessage#9ddb347c flags:# connection_id:string message:Messag
 updateBotEditBusinessMessage#7df587c flags:# connection_id:string message:Message reply_to_message:flags.0?Message qts:int = Update;
 updateBotEditBusinessMessage#7df587c flags:# connection_id:string message:Message reply_to_message:flags.0?Message qts:int = Update;
 updateBotDeleteBusinessMessage#a02a982e connection_id:string peer:Peer messages:Vector<int> qts:int = Update;
 updateBotDeleteBusinessMessage#a02a982e connection_id:string peer:Peer messages:Vector<int> qts:int = Update;
 updateNewStoryReaction#1824e40b story_id:int peer:Peer reaction:Reaction = Update;
 updateNewStoryReaction#1824e40b story_id:int peer:Peer reaction:Reaction = Update;
+updateBroadcastRevenueTransactions#dfd961f5 peer:Peer balances:BroadcastRevenueBalances = Update;
+updateStarsBalance#fb85198 balance:long = Update;
 
 
 updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
 updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
 
 
@@ -669,7 +671,7 @@ messageEntityStrike#bf0693d4 offset:int length:int = MessageEntity;
 messageEntityBankCard#761e6af4 offset:int length:int = MessageEntity;
 messageEntityBankCard#761e6af4 offset:int length:int = MessageEntity;
 messageEntitySpoiler#32ca960f offset:int length:int = MessageEntity;
 messageEntitySpoiler#32ca960f offset:int length:int = MessageEntity;
 messageEntityCustomEmoji#c8cf05f8 offset:int length:int document_id:long = MessageEntity;
 messageEntityCustomEmoji#c8cf05f8 offset:int length:int document_id:long = MessageEntity;
-messageEntityBlockquote#20df5d0 offset:int length:int = MessageEntity;
+messageEntityBlockquote#f1ccaaac flags:# collapsed:flags.0?true offset:int length:int = MessageEntity;
 
 
 inputChannelEmpty#ee8c1e86 = InputChannel;
 inputChannelEmpty#ee8c1e86 = InputChannel;
 inputChannel#f35aec28 channel_id:long access_hash:long = InputChannel;
 inputChannel#f35aec28 channel_id:long access_hash:long = InputChannel;
@@ -757,7 +759,7 @@ auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeTyp
 auth.sentCodeTypeEmailCode#f450f59b flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int reset_available_period:flags.3?int reset_pending_date:flags.4?int = auth.SentCodeType;
 auth.sentCodeTypeEmailCode#f450f59b flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int reset_available_period:flags.3?int reset_pending_date:flags.4?int = auth.SentCodeType;
 auth.sentCodeTypeSetUpEmailRequired#a5491dea flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true = auth.SentCodeType;
 auth.sentCodeTypeSetUpEmailRequired#a5491dea flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true = auth.SentCodeType;
 auth.sentCodeTypeFragmentSms#d9565c39 url:string length:int = auth.SentCodeType;
 auth.sentCodeTypeFragmentSms#d9565c39 url:string length:int = auth.SentCodeType;
-auth.sentCodeTypeFirebaseSms#e57b1432 flags:# nonce:flags.0?bytes receipt:flags.1?string push_timeout:flags.1?int length:int = auth.SentCodeType;
+auth.sentCodeTypeFirebaseSms#13c90f17 flags:# nonce:flags.0?bytes play_integrity_nonce:flags.2?bytes receipt:flags.1?string push_timeout:flags.1?int length:int = auth.SentCodeType;
 auth.sentCodeTypeSmsWord#a416ac81 flags:# beginning:flags.0?string = auth.SentCodeType;
 auth.sentCodeTypeSmsWord#a416ac81 flags:# beginning:flags.0?string = auth.SentCodeType;
 auth.sentCodeTypeSmsPhrase#b37794af flags:# beginning:flags.0?string = auth.SentCodeType;
 auth.sentCodeTypeSmsPhrase#b37794af flags:# beginning:flags.0?string = auth.SentCodeType;
 
 
@@ -900,6 +902,7 @@ inputWebFileAudioAlbumThumbLocation#f46fe924 flags:# small:flags.2?true document
 upload.webFile#21e753bc size:int mime_type:string file_type:storage.FileType mtime:int bytes:bytes = upload.WebFile;
 upload.webFile#21e753bc size:int mime_type:string file_type:storage.FileType mtime:int bytes:bytes = upload.WebFile;
 
 
 payments.paymentForm#a0058751 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true form_id:long bot_id:long title:string description:string photo:flags.5?WebDocument invoice:Invoice provider_id:long url:string native_provider:flags.4?string native_params:flags.4?DataJSON additional_methods:flags.6?Vector<PaymentFormMethod> saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?Vector<PaymentSavedCredentials> users:Vector<User> = payments.PaymentForm;
 payments.paymentForm#a0058751 flags:# can_save_credentials:flags.2?true password_missing:flags.3?true form_id:long bot_id:long title:string description:string photo:flags.5?WebDocument invoice:Invoice provider_id:long url:string native_provider:flags.4?string native_params:flags.4?DataJSON additional_methods:flags.6?Vector<PaymentFormMethod> saved_info:flags.0?PaymentRequestedInfo saved_credentials:flags.1?Vector<PaymentSavedCredentials> users:Vector<User> = payments.PaymentForm;
+payments.paymentFormStars#7bf6b15c flags:# form_id:long bot_id:long title:string description:string photo:flags.5?WebDocument invoice:Invoice users:Vector<User> = payments.PaymentForm;
 
 
 payments.validatedRequestedInfo#d1451883 flags:# id:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = payments.ValidatedRequestedInfo;
 payments.validatedRequestedInfo#d1451883 flags:# id:flags.0?string shipping_options:flags.1?Vector<ShippingOption> = payments.ValidatedRequestedInfo;
 
 
@@ -907,6 +910,7 @@ payments.paymentResult#4e5f810d updates:Updates = payments.PaymentResult;
 payments.paymentVerificationNeeded#d8411139 url:string = payments.PaymentResult;
 payments.paymentVerificationNeeded#d8411139 url:string = payments.PaymentResult;
 
 
 payments.paymentReceipt#70c4fe03 flags:# date:int bot_id:long provider_id:long title:string description:string photo:flags.2?WebDocument invoice:Invoice info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption tip_amount:flags.3?long currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
 payments.paymentReceipt#70c4fe03 flags:# date:int bot_id:long provider_id:long title:string description:string photo:flags.2?WebDocument invoice:Invoice info:flags.0?PaymentRequestedInfo shipping:flags.1?ShippingOption tip_amount:flags.3?long currency:string total_amount:long credentials_title:string users:Vector<User> = payments.PaymentReceipt;
+payments.paymentReceiptStars#dabbf83a flags:# date:int bot_id:long title:string description:string photo:flags.2?WebDocument invoice:Invoice currency:string total_amount:long transaction_id:string users:Vector<User> = payments.PaymentReceipt;
 
 
 payments.savedInfo#fb8fe43c flags:# has_saved_credentials:flags.1?true saved_info:flags.0?PaymentRequestedInfo = payments.SavedInfo;
 payments.savedInfo#fb8fe43c flags:# has_saved_credentials:flags.1?true saved_info:flags.0?PaymentRequestedInfo = payments.SavedInfo;
 
 
@@ -1446,6 +1450,7 @@ attachMenuPeerTypeBroadcast#7bfbdefc = AttachMenuPeerType;
 inputInvoiceMessage#c5b56859 peer:InputPeer msg_id:int = InputInvoice;
 inputInvoiceMessage#c5b56859 peer:InputPeer msg_id:int = InputInvoice;
 inputInvoiceSlug#c326caef slug:string = InputInvoice;
 inputInvoiceSlug#c326caef slug:string = InputInvoice;
 inputInvoicePremiumGiftCode#98986c0d purpose:InputStorePaymentPurpose option:PremiumGiftCodeOption = InputInvoice;
 inputInvoicePremiumGiftCode#98986c0d purpose:InputStorePaymentPurpose option:PremiumGiftCodeOption = InputInvoice;
+inputInvoiceStars#1da33ad8 option:StarsTopupOption = InputInvoice;
 
 
 payments.exportedInvoice#aed0cbd9 url:string = payments.ExportedInvoice;
 payments.exportedInvoice#aed0cbd9 url:string = payments.ExportedInvoice;
 
 
@@ -1457,6 +1462,7 @@ inputStorePaymentPremiumSubscription#a6751e66 flags:# restore:flags.0?true upgra
 inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentGiftPremium#616f7fe8 user_id:InputUser currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_peer:flags.0?InputPeer currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiftCode#a3805f3f flags:# users:Vector<InputUser> boost_peer:flags.0?InputPeer currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
 inputStorePaymentPremiumGiveaway#160544ca flags:# only_new_subscribers:flags.0?true winners_are_visible:flags.3?true boost_peer:InputPeer additional_peers:flags.1?Vector<InputPeer> countries_iso2:flags.2?Vector<string> prize_description:flags.4?string random_id:long until_date:int currency:string amount:long = InputStorePaymentPurpose;
+inputStorePaymentStars#4f0ee8df flags:# stars:long currency:string amount:long = InputStorePaymentPurpose;
 
 
 premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
 premiumGiftOption#74c34319 flags:# months:int currency:string amount:long bot_url:string store_product:flags.0?string = PremiumGiftOption;
 
 
@@ -1781,6 +1787,26 @@ reactionsNotifySettings#56e34970 flags:# messages_notify_from:flags.0?ReactionNo
 
 
 broadcastRevenueBalances#8438f1c6 current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
 broadcastRevenueBalances#8438f1c6 current_balance:long available_balance:long overall_revenue:long = BroadcastRevenueBalances;
 
 
+availableEffect#93c3e27e flags:# premium_required:flags.2?true id:long emoticon:string static_icon_id:flags.0?long effect_sticker_id:long effect_animation_id:flags.1?long = AvailableEffect;
+
+messages.availableEffectsNotModified#d1ed9a5b = messages.AvailableEffects;
+messages.availableEffects#bddb616e hash:int effects:Vector<AvailableEffect> documents:Vector<Document> = messages.AvailableEffects;
+
+factCheck#b89bfccf flags:# need_check:flags.0?true country:flags.1?string text:flags.1?TextWithEntities hash:long = FactCheck;
+
+starsTransactionPeerUnsupported#95f2bfe4 = StarsTransactionPeer;
+starsTransactionPeerAppStore#b457b375 = StarsTransactionPeer;
+starsTransactionPeerPlayMarket#7b560a0b = StarsTransactionPeer;
+starsTransactionPeerPremiumBot#250dbaf8 = StarsTransactionPeer;
+starsTransactionPeerFragment#e92fd902 = StarsTransactionPeer;
+starsTransactionPeer#d80da15d peer:Peer = StarsTransactionPeer;
+
+starsTopupOption#bd915c0 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsTopupOption;
+
+starsTransaction#cc7079b2 flags:# refund:flags.3?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument = StarsTransaction;
+
+payments.starsStatus#8cf4ee60 flags:# balance:long history:Vector<StarsTransaction> next_offset:flags.0?string chats:Vector<Chat> users:Vector<User> = payments.StarsStatus;
+
 ---functions---
 ---functions---
 
 
 invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
 invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@@ -1791,6 +1817,8 @@ invokeWithoutUpdates#bf9459b7 {X:Type} query:!X = X;
 invokeWithMessagesRange#365275f2 {X:Type} range:MessageRange query:!X = X;
 invokeWithMessagesRange#365275f2 {X:Type} range:MessageRange query:!X = X;
 invokeWithTakeout#aca9fd2e {X:Type} takeout_id:long query:!X = X;
 invokeWithTakeout#aca9fd2e {X:Type} takeout_id:long query:!X = X;
 invokeWithBusinessConnection#dd289f8e {X:Type} connection_id:string query:!X = X;
 invokeWithBusinessConnection#dd289f8e {X:Type} connection_id:string query:!X = X;
+invokeWithGooglePlayIntegrity#1df92984 {X:Type} nonce:string token:string query:!X = X;
+invokeWithApnsSecret#0dae54f8 {X:Type} nonce:string secret:string query:!X = X;
 
 
 auth.sendCode#a677244f phone_number:string api_id:int api_hash:string settings:CodeSettings = auth.SentCode;
 auth.sendCode#a677244f phone_number:string api_id:int api_hash:string settings:CodeSettings = auth.SentCode;
 auth.signUp#aac7b717 flags:# no_joined_notifications:flags.0?true phone_number:string phone_code_hash:string first_name:string last_name:string = auth.Authorization;
 auth.signUp#aac7b717 flags:# no_joined_notifications:flags.0?true phone_number:string phone_code_hash:string first_name:string last_name:string = auth.Authorization;
@@ -1804,7 +1832,7 @@ auth.importBotAuthorization#67a3ff2c flags:int api_id:int api_hash:string bot_au
 auth.checkPassword#d18b4d16 password:InputCheckPasswordSRP = auth.Authorization;
 auth.checkPassword#d18b4d16 password:InputCheckPasswordSRP = auth.Authorization;
 auth.requestPasswordRecovery#d897bc66 = auth.PasswordRecovery;
 auth.requestPasswordRecovery#d897bc66 = auth.PasswordRecovery;
 auth.recoverPassword#37096c70 flags:# code:string new_settings:flags.0?account.PasswordInputSettings = auth.Authorization;
 auth.recoverPassword#37096c70 flags:# code:string new_settings:flags.0?account.PasswordInputSettings = auth.Authorization;
-auth.resendCode#3ef1a9bf phone_number:string phone_code_hash:string = auth.SentCode;
+auth.resendCode#cae47523 flags:# phone_number:string phone_code_hash:string reason:flags.0?string = auth.SentCode;
 auth.cancelCode#1f040578 phone_number:string phone_code_hash:string = Bool;
 auth.cancelCode#1f040578 phone_number:string phone_code_hash:string = Bool;
 auth.dropTempAuthKeys#8e48a188 except_auth_keys:Vector<long> = Bool;
 auth.dropTempAuthKeys#8e48a188 except_auth_keys:Vector<long> = Bool;
 auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long> = auth.LoginToken;
 auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long> = auth.LoginToken;
@@ -1812,7 +1840,7 @@ auth.importLoginToken#95ac5ce4 token:bytes = auth.LoginToken;
 auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
 auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
 auth.checkRecoveryPassword#d36bf79 code:string = Bool;
 auth.checkRecoveryPassword#d36bf79 code:string = Bool;
 auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
 auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
-auth.requestFirebaseSms#89464b50 flags:# phone_number:string phone_code_hash:string safety_net_token:flags.0?string ios_push_secret:flags.1?string = Bool;
+auth.requestFirebaseSms#8e39261e flags:# phone_number:string phone_code_hash:string safety_net_token:flags.0?string play_integrity_token:flags.2?string ios_push_secret:flags.1?string = Bool;
 auth.resetLoginEmail#7e960193 phone_number:string phone_code_hash:string = auth.SentCode;
 auth.resetLoginEmail#7e960193 phone_number:string phone_code_hash:string = auth.SentCode;
 auth.reportMissingCode#cb9deff6 phone_number:string phone_code_hash:string mnc:string = Bool;
 auth.reportMissingCode#cb9deff6 phone_number:string phone_code_hash:string mnc:string = Bool;
 
 
@@ -1970,8 +1998,8 @@ messages.deleteHistory#b08f922a flags:# just_clear:flags.0?true revoke:flags.1?t
 messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
 messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector<int> = messages.AffectedMessages;
 messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
 messages.receivedMessages#5a954c0 max_id:int = Vector<ReceivedNotifyMessage>;
 messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
 messages.setTyping#58943ee2 flags:# peer:InputPeer top_msg_id:flags.0?int action:SendMessageAction = Bool;
-messages.sendMessage#dff8042c flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
-messages.sendMedia#7bd66041 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
+messages.sendMessage#983f9745 flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long = Updates;
+messages.sendMedia#7852834e flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo media:InputMedia message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long = Updates;
 messages.forwardMessages#d5039208 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
 messages.forwardMessages#d5039208 flags:# silent:flags.5?true background:flags.6?true with_my_score:flags.8?true drop_author:flags.11?true drop_media_captions:flags.12?true noforwards:flags.14?true from_peer:InputPeer id:Vector<int> random_id:Vector<long> to_peer:InputPeer top_msg_id:flags.9?int schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
 messages.reportSpam#cf1592db peer:InputPeer = Bool;
 messages.reportSpam#cf1592db peer:InputPeer = Bool;
 messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
 messages.getPeerSettings#efd9a6a2 peer:InputPeer = messages.PeerSettings;
@@ -2050,7 +2078,7 @@ messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool;
 messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
 messages.getUnreadMentions#f107e790 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages;
 messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
 messages.readMentions#36e5bf4d flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory;
 messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
 messages.getRecentLocations#702a40e0 peer:InputPeer limit:int hash:long = messages.Messages;
-messages.sendMultiMedia#c964709 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut = Updates;
+messages.sendMultiMedia#37b74355 flags:# silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo multi_media:Vector<InputSingleMedia> schedule_date:flags.10?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long = Updates;
 messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
 messages.uploadEncryptedFile#5057c497 peer:InputEncryptedChat file:InputEncryptedFile = EncryptedFile;
 messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
 messages.searchStickerSets#35705b8a flags:# exclude_featured:flags.0?true q:string hash:long = messages.FoundStickerSets;
 messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
 messages.getSplitRanges#1cff7e08 = Vector<MessageRange>;
@@ -2170,6 +2198,10 @@ messages.deleteQuickReplyMessages#e105e910 shortcut_id:int id:Vector<int> = Upda
 messages.toggleDialogFilterTags#fd2dda49 enabled:Bool = Bool;
 messages.toggleDialogFilterTags#fd2dda49 enabled:Bool = Bool;
 messages.getMyStickers#d0b5e1fc offset_id:long limit:int = messages.MyStickers;
 messages.getMyStickers#d0b5e1fc offset_id:long limit:int = messages.MyStickers;
 messages.getEmojiStickerGroups#1dd840f5 hash:int = messages.EmojiGroups;
 messages.getEmojiStickerGroups#1dd840f5 hash:int = messages.EmojiGroups;
+messages.getAvailableEffects#dea20a39 hash:int = messages.AvailableEffects;
+messages.editFactCheck#589ee75 peer:InputPeer msg_id:int text:TextWithEntities = Updates;
+messages.deleteFactCheck#d1da940c peer:InputPeer msg_id:int = Updates;
+messages.getFactCheck#b9cdc5ee peer:InputPeer msg_id:Vector<int> = Vector<FactCheck>;
 
 
 updates.getState#edd4882a = updates.State;
 updates.getState#edd4882a = updates.State;
 updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
 updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference;
@@ -2280,6 +2312,7 @@ channels.setBoostsToUnblockRestrictions#ad399cee channel:InputChannel boosts:int
 channels.setEmojiStickers#3cd930b7 channel:InputChannel stickerset:InputStickerSet = Bool;
 channels.setEmojiStickers#3cd930b7 channel:InputChannel stickerset:InputStickerSet = Bool;
 channels.reportSponsoredMessage#af8ff6b9 channel:InputChannel random_id:bytes option:bytes = channels.SponsoredMessageReportResult;
 channels.reportSponsoredMessage#af8ff6b9 channel:InputChannel random_id:bytes option:bytes = channels.SponsoredMessageReportResult;
 channels.restrictSponsoredMessages#9ae91519 channel:InputChannel restricted:Bool = Updates;
 channels.restrictSponsoredMessages#9ae91519 channel:InputChannel restricted:Bool = Updates;
+channels.searchPosts#d19f987b hashtag:string offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
 
 
 bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
 bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
 bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
 bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
@@ -2314,6 +2347,11 @@ payments.checkGiftCode#8e51b4c1 slug:string = payments.CheckedGiftCode;
 payments.applyGiftCode#f6e26854 slug:string = Updates;
 payments.applyGiftCode#f6e26854 slug:string = Updates;
 payments.getGiveawayInfo#f4239425 peer:InputPeer msg_id:int = payments.GiveawayInfo;
 payments.getGiveawayInfo#f4239425 peer:InputPeer msg_id:int = payments.GiveawayInfo;
 payments.launchPrepaidGiveaway#5ff58f20 peer:InputPeer giveaway_id:long purpose:InputStorePaymentPurpose = Updates;
 payments.launchPrepaidGiveaway#5ff58f20 peer:InputPeer giveaway_id:long purpose:InputStorePaymentPurpose = Updates;
+payments.getStarsTopupOptions#c00ec7d3 = Vector<StarsTopupOption>;
+payments.getStarsStatus#104fcfa7 peer:InputPeer = payments.StarsStatus;
+payments.getStarsTransactions#673ac2f9 flags:# inbound:flags.0?true outbound:flags.1?true peer:InputPeer offset:string = payments.StarsStatus;
+payments.sendStarsForm#2bb731d flags:# form_id:long invoice:InputInvoice = payments.PaymentResult;
+payments.refundStarsCharge#25ae8f4a user_id:InputUser charge_id:string = Updates;
 
 
 stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
 stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector<InputStickerSetItem> software:flags.3?string = messages.StickerSet;
 stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
 stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet;
@@ -2432,4 +2470,4 @@ smsjobs.finishJob#4f1ebf24 flags:# job_id:string error:flags.0?string = Bool;
 
 
 fragment.getCollectibleInfo#be1e85ba collectible:InputCollectible = fragment.CollectibleInfo;
 fragment.getCollectibleInfo#be1e85ba collectible:InputCollectible = fragment.CollectibleInfo;
 
 
-// LAYER 179
+// LAYER 181

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
 {
   "name": "telegram",
   "name": "telegram",
-  "version": "2.21.0",
+  "version": "2.22.0",
   "lockfileVersion": 2,
   "lockfileVersion": 2,
   "requires": true,
   "requires": true,
   "packages": {
   "packages": {
     "": {
     "": {
       "name": "telegram",
       "name": "telegram",
-      "version": "2.21.0",
+      "version": "2.22.0",
       "license": "MIT",
       "license": "MIT",
       "dependencies": {
       "dependencies": {
         "@cryptography/aes": "^0.1.1",
         "@cryptography/aes": "^0.1.1",

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "telegram",
   "name": "telegram",
-  "version": "2.21.0",
+  "version": "2.22.0",
   "description": "NodeJS/Browser MTProto API Telegram client library,",
   "description": "NodeJS/Browser MTProto API Telegram client library,",
   "main": "index.js",
   "main": "index.js",
   "types": "index.d.ts",
   "types": "index.d.ts",