Prechádzať zdrojové kódy

Update to layer 150

Painor 2 rokov pred
rodič
commit
a278eed8e2

+ 1 - 1
gramjs/Version.ts

@@ -1 +1 @@
-export const version = "2.14.9";
+export const version = "2.15.0";

+ 1 - 1
gramjs/client/messages.ts

@@ -149,7 +149,7 @@ export class _MessagesIter extends RequestIter {
                 fromId: fromUser,
             });
             if (
-                filter instanceof Api.InputMessagesFilterEmpty &&
+                !(filter instanceof Api.InputMessagesFilterEmpty) &&
                 offsetDate &&
                 !search &&
                 !offsetId

+ 5 - 1
gramjs/client/uploads.ts

@@ -125,7 +125,11 @@ export async function uploadFile(
 
     const partSize = getAppropriatedPartSize(bigInt(size)) * KB_TO_BYTES;
     const partCount = Math.floor((size + partSize - 1) / partSize);
-    const buffer = await getFileBuffer(file, size, fileParams.maxBufferSize || BUFFER_SIZE_2GB  - 1);
+    const buffer = await getFileBuffer(
+        file,
+        size,
+        fileParams.maxBufferSize || BUFFER_SIZE_2GB - 1
+    );
 
     // Make sure a new sender can be created before starting upload
     await client.getSender(client.session.dcId);

+ 1 - 1
gramjs/client/users.ts

@@ -343,7 +343,7 @@ export async function getInputEntity(
     throw new Error(
         `Could not find the input entity for ${JSON.stringify(peer)}.
          Please read https://` +
-            "docs.telethon.dev/en/latest/concepts/entities.html to" +
+            "docs.telethon.dev/en/stable/concepts/entities.html to" +
             " find out more details."
     );
 }

+ 1 - 1
gramjs/tl/AllTLObjects.ts

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

+ 233 - 14
gramjs/tl/api.d.ts

@@ -1071,6 +1071,7 @@ export namespace Api {
         blocked?: boolean;
         // flags2: null;
         canDeleteChannel?: boolean;
+        antispam?: boolean;
         id: long;
         about: string;
         participantsCount?: int;
@@ -1123,6 +1124,7 @@ export namespace Api {
         blocked?: boolean;
         // flags2: null;
         canDeleteChannel?: boolean;
+        antispam?: boolean;
         id: long;
         about: string;
         participantsCount?: int;
@@ -1757,14 +1759,18 @@ export namespace Api {
         users: long[];
     }
     export class MessageActionSetMessagesTTL extends VirtualClass<{
+        // flags: null;
         period: int;
+        autoSettingFrom?: long;
     }> {
-        CONSTRUCTOR_ID: 2853895165;
+        CONSTRUCTOR_ID: 1007897979;
         SUBCLASS_OF_ID: 2256589094;
         classType: "constructor";
         className: "MessageActionSetMessagesTTL";
         static fromReader(reader: Reader): MessageActionSetMessagesTTL;
+        // flags: null;
         period: int;
+        autoSettingFrom?: long;
     }
     export class MessageActionGroupCallScheduled extends VirtualClass<{
         call: Api.TypeInputGroupCall;
@@ -1852,8 +1858,9 @@ export namespace Api {
         title?: string;
         iconEmojiId?: long;
         closed?: Bool;
+        hidden?: Bool;
     }> {
-        CONSTRUCTOR_ID: 2978628380;
+        CONSTRUCTOR_ID: 3230943264;
         SUBCLASS_OF_ID: 2256589094;
         classType: "constructor";
         className: "MessageActionTopicEdit";
@@ -1862,6 +1869,7 @@ export namespace Api {
         title?: string;
         iconEmojiId?: long;
         closed?: Bool;
+        hidden?: Bool;
     }
     export class Dialog extends VirtualClass<{
         // flags: null;
@@ -1878,8 +1886,9 @@ export namespace Api {
         pts?: int;
         draft?: Api.TypeDraftMessage;
         folderId?: int;
+        ttlPeriod?: int;
     }> {
-        CONSTRUCTOR_ID: 2834157813;
+        CONSTRUCTOR_ID: 3582593222;
         SUBCLASS_OF_ID: 1120787796;
         classType: "constructor";
         className: "Dialog";
@@ -1898,6 +1907,7 @@ export namespace Api {
         pts?: int;
         draft?: Api.TypeDraftMessage;
         folderId?: int;
+        ttlPeriod?: int;
     }
     export class DialogFolder extends VirtualClass<{
         // flags: null;
@@ -3981,17 +3991,33 @@ export namespace Api {
     }
     export class UpdateChannelPinnedTopic extends VirtualClass<{
         // flags: null;
+        pinned?: boolean;
         channelId: long;
-        topicId?: int;
+        topicId: int;
     }> {
-        CONSTRUCTOR_ID: 4136939694;
+        CONSTRUCTOR_ID: 422509539;
         SUBCLASS_OF_ID: 2676568142;
         classType: "constructor";
         className: "UpdateChannelPinnedTopic";
         static fromReader(reader: Reader): UpdateChannelPinnedTopic;
         // flags: null;
+        pinned?: boolean;
+        channelId: long;
+        topicId: int;
+    }
+    export class UpdateChannelPinnedTopics extends VirtualClass<{
+        // flags: null;
+        channelId: long;
+        order?: int[];
+    }> {
+        CONSTRUCTOR_ID: 4263085570;
+        SUBCLASS_OF_ID: 2676568142;
+        classType: "constructor";
+        className: "UpdateChannelPinnedTopics";
+        static fromReader(reader: Reader): UpdateChannelPinnedTopics;
+        // flags: null;
         channelId: long;
-        topicId?: int;
+        order?: int[];
     }
     export class UpdatesTooLong extends VirtualClass<void> {
         CONSTRUCTOR_ID: 3809980286;
@@ -8800,6 +8826,18 @@ export namespace Api {
         prevTopic?: Api.TypeForumTopic;
         newTopic?: Api.TypeForumTopic;
     }
+    export class ChannelAdminLogEventActionToggleAntiSpam extends VirtualClass<{
+        newValue: Bool;
+    }> {
+        CONSTRUCTOR_ID: 1693675004;
+        SUBCLASS_OF_ID: 2998503411;
+        classType: "constructor";
+        className: "ChannelAdminLogEventActionToggleAntiSpam";
+        static fromReader(
+            reader: Reader
+        ): ChannelAdminLogEventActionToggleAntiSpam;
+        newValue: Bool;
+    }
     export class ChannelAdminLogEvent extends VirtualClass<{
         id: long;
         date: int;
@@ -11774,6 +11812,8 @@ export namespace Api {
         my?: boolean;
         closed?: boolean;
         pinned?: boolean;
+        short?: boolean;
+        hidden?: boolean;
         id: int;
         date: int;
         title: string;
@@ -11798,6 +11838,8 @@ export namespace Api {
         my?: boolean;
         closed?: boolean;
         pinned?: boolean;
+        short?: boolean;
+        hidden?: boolean;
         id: int;
         date: int;
         title: string;
@@ -11813,6 +11855,28 @@ export namespace Api {
         notifySettings: Api.TypePeerNotifySettings;
         draft?: Api.TypeDraftMessage;
     }
+    export class DefaultHistoryTTL extends VirtualClass<{
+        period: int;
+    }> {
+        CONSTRUCTOR_ID: 1135897376;
+        SUBCLASS_OF_ID: 4027396967;
+        classType: "constructor";
+        className: "DefaultHistoryTTL";
+        static fromReader(reader: Reader): DefaultHistoryTTL;
+        period: int;
+    }
+    export class ExportedContactToken extends VirtualClass<{
+        url: string;
+        expires: int;
+    }> {
+        CONSTRUCTOR_ID: 1103040667;
+        SUBCLASS_OF_ID: 2262679249;
+        classType: "constructor";
+        className: "ExportedContactToken";
+        static fromReader(reader: Reader): ExportedContactToken;
+        url: string;
+        expires: int;
+    }
     export class ResPQ extends VirtualClass<{
         nonce: int128;
         serverNonce: int128;
@@ -12856,6 +12920,13 @@ export namespace Api {
             className: "auth.CodeTypeMissedCall";
             static fromReader(reader: Reader): CodeTypeMissedCall;
         }
+        export class CodeTypeFragmentSms extends VirtualClass<void> {
+            CONSTRUCTOR_ID: 116234636;
+            SUBCLASS_OF_ID: 3019105281;
+            classType: "constructor";
+            className: "auth.CodeTypeFragmentSms";
+            static fromReader(reader: Reader): CodeTypeFragmentSms;
+        }
         export class SentCodeTypeApp extends VirtualClass<{
             length: int;
         }> {
@@ -12942,6 +13013,18 @@ export namespace Api {
             appleSigninAllowed?: boolean;
             googleSigninAllowed?: boolean;
         }
+        export class SentCodeTypeFragmentSms extends VirtualClass<{
+            url: string;
+            length: int;
+        }> {
+            CONSTRUCTOR_ID: 3646315577;
+            SUBCLASS_OF_ID: 4284159374;
+            classType: "constructor";
+            className: "auth.SentCodeTypeFragmentSms";
+            static fromReader(reader: Reader): SentCodeTypeFragmentSms;
+            url: string;
+            length: int;
+        }
         export class LoginToken extends VirtualClass<{
             expires: int;
             token: bytes;
@@ -13208,10 +13291,11 @@ export namespace Api {
             count: int;
             offsetIdOffset?: int;
             messages: Api.TypeMessage[];
+            topics: Api.TypeForumTopic[];
             chats: Api.TypeChat[];
             users: Api.TypeUser[];
         }> {
-            CONSTRUCTOR_ID: 1682413576;
+            CONSTRUCTOR_ID: 3346446926;
             SUBCLASS_OF_ID: 3568569182;
             classType: "constructor";
             className: "messages.ChannelMessages";
@@ -13222,6 +13306,7 @@ export namespace Api {
             count: int;
             offsetIdOffset?: int;
             messages: Api.TypeMessage[];
+            topics: Api.TypeForumTopic[];
             chats: Api.TypeChat[];
             users: Api.TypeUser[];
         }
@@ -15409,7 +15494,8 @@ export namespace Api {
             | auth.CodeTypeSms
             | auth.CodeTypeCall
             | auth.CodeTypeFlashCall
-            | auth.CodeTypeMissedCall;
+            | auth.CodeTypeMissedCall
+            | auth.CodeTypeFragmentSms;
         export type TypeSentCodeType =
             | auth.SentCodeTypeApp
             | auth.SentCodeTypeSms
@@ -15417,7 +15503,8 @@ export namespace Api {
             | auth.SentCodeTypeFlashCall
             | auth.SentCodeTypeMissedCall
             | auth.SentCodeTypeEmailCode
-            | auth.SentCodeTypeSetUpEmailRequired;
+            | auth.SentCodeTypeSetUpEmailRequired
+            | auth.SentCodeTypeFragmentSms;
         export type TypeLoginToken =
             | auth.LoginToken
             | auth.LoginTokenMigrateTo
@@ -15940,6 +16027,23 @@ export namespace Api {
             static fromReader(reader: Reader): CheckRecoveryPassword;
             code: string;
         }
+        export class ImportWebTokenAuthorization extends Request<
+            Partial<{
+                apiId: int;
+                apiHash: string;
+                webAuthToken: string;
+            }>,
+            auth.TypeAuthorization
+        > {
+            CONSTRUCTOR_ID: 767062953;
+            SUBCLASS_OF_ID: 3118485049;
+            classType: "request";
+            className: "auth.ImportWebTokenAuthorization";
+            static fromReader(reader: Reader): ImportWebTokenAuthorization;
+            apiId: int;
+            apiHash: string;
+            webAuthToken: string;
+        }
     }
 
     export namespace account {
@@ -17460,6 +17564,29 @@ export namespace Api {
             static fromReader(reader: Reader): ResolvePhone;
             phone: string;
         }
+        export class ExportContactToken extends Request<
+            void,
+            Api.TypeExportedContactToken
+        > {
+            CONSTRUCTOR_ID: 4167385127;
+            SUBCLASS_OF_ID: 2262679249;
+            classType: "request";
+            className: "contacts.ExportContactToken";
+            static fromReader(reader: Reader): ExportContactToken;
+        }
+        export class ImportContactToken extends Request<
+            Partial<{
+                token: string;
+            }>,
+            Api.TypeUser
+        > {
+            CONSTRUCTOR_ID: 318789512;
+            SUBCLASS_OF_ID: 765557111;
+            classType: "request";
+            className: "contacts.ImportContactToken";
+            static fromReader(reader: Reader): ImportContactToken;
+            token: string;
+        }
     }
 
     export namespace messages {
@@ -17922,18 +18049,22 @@ export namespace Api {
         }
         export class CreateChat extends Request<
             Partial<{
+                // flags: null;
                 users: Api.TypeEntityLike[];
                 title: string;
+                ttlPeriod?: int;
             }>,
             Api.TypeUpdates
         > {
-            CONSTRUCTOR_ID: 164303470;
+            CONSTRUCTOR_ID: 3450904;
             SUBCLASS_OF_ID: 2331323052;
             classType: "request";
             className: "messages.CreateChat";
             static fromReader(reader: Reader): CreateChat;
+            // flags: null;
             users: Api.TypeEntityLike[];
             title: string;
+            ttlPeriod?: int;
         }
         export class GetDhConfig extends Request<
             Partial<{
@@ -20604,6 +20735,29 @@ export namespace Api {
             peer: Api.TypeEntityLike;
             id: int[];
         }
+        export class SetDefaultHistoryTTL extends Request<
+            Partial<{
+                period: int;
+            }>,
+            Bool
+        > {
+            CONSTRUCTOR_ID: 2662667333;
+            SUBCLASS_OF_ID: 4122188204;
+            classType: "request";
+            className: "messages.SetDefaultHistoryTTL";
+            static fromReader(reader: Reader): SetDefaultHistoryTTL;
+            period: int;
+        }
+        export class GetDefaultHistoryTTL extends Request<
+            void,
+            Api.TypeDefaultHistoryTTL
+        > {
+            CONSTRUCTOR_ID: 1703637384;
+            SUBCLASS_OF_ID: 4027396967;
+            classType: "request";
+            className: "messages.GetDefaultHistoryTTL";
+            static fromReader(reader: Reader): GetDefaultHistoryTTL;
+        }
     }
 
     export namespace updates {
@@ -21264,10 +21418,11 @@ export namespace Api {
                 about: string;
                 geoPoint?: Api.TypeInputGeoPoint;
                 address?: string;
+                ttlPeriod?: int;
             }>,
             Api.TypeUpdates
         > {
-            CONSTRUCTOR_ID: 1029681423;
+            CONSTRUCTOR_ID: 2432722695;
             SUBCLASS_OF_ID: 2331323052;
             classType: "request";
             className: "channels.CreateChannel";
@@ -21280,6 +21435,7 @@ export namespace Api {
             about: string;
             geoPoint?: Api.TypeInputGeoPoint;
             address?: string;
+            ttlPeriod?: int;
         }
         export class EditAdmin extends Request<
             Partial<{
@@ -21904,10 +22060,11 @@ export namespace Api {
                 title?: string;
                 iconEmojiId?: long;
                 closed?: Bool;
+                hidden?: Bool;
             }>,
             Api.TypeUpdates
         > {
-            CONSTRUCTOR_ID: 1820868141;
+            CONSTRUCTOR_ID: 4108296581;
             SUBCLASS_OF_ID: 2331323052;
             classType: "request";
             className: "channels.EditForumTopic";
@@ -21918,6 +22075,7 @@ export namespace Api {
             title?: string;
             iconEmojiId?: long;
             closed?: Bool;
+            hidden?: Bool;
         }
         export class UpdatePinnedForumTopic extends Request<
             Partial<{
@@ -21951,6 +22109,55 @@ export namespace Api {
             channel: Api.TypeEntityLike;
             topMsgId: MessageIDLike;
         }
+        export class ReorderPinnedForumTopics extends Request<
+            Partial<{
+                // flags: null;
+                force?: boolean;
+                channel: Api.TypeEntityLike;
+                order: int[];
+            }>,
+            Api.TypeUpdates
+        > {
+            CONSTRUCTOR_ID: 693150095;
+            SUBCLASS_OF_ID: 2331323052;
+            classType: "request";
+            className: "channels.ReorderPinnedForumTopics";
+            static fromReader(reader: Reader): ReorderPinnedForumTopics;
+            // flags: null;
+            force?: boolean;
+            channel: Api.TypeEntityLike;
+            order: int[];
+        }
+        export class ToggleAntiSpam extends Request<
+            Partial<{
+                channel: Api.TypeEntityLike;
+                enabled: Bool;
+            }>,
+            Api.TypeUpdates
+        > {
+            CONSTRUCTOR_ID: 1760814315;
+            SUBCLASS_OF_ID: 2331323052;
+            classType: "request";
+            className: "channels.ToggleAntiSpam";
+            static fromReader(reader: Reader): ToggleAntiSpam;
+            channel: Api.TypeEntityLike;
+            enabled: Bool;
+        }
+        export class ReportAntiSpamFalsePositive extends Request<
+            Partial<{
+                channel: Api.TypeEntityLike;
+                msgId: MessageIDLike;
+            }>,
+            Bool
+        > {
+            CONSTRUCTOR_ID: 2823857811;
+            SUBCLASS_OF_ID: 4122188204;
+            classType: "request";
+            className: "channels.ReportAntiSpamFalsePositive";
+            static fromReader(reader: Reader): ReportAntiSpamFalsePositive;
+            channel: Api.TypeEntityLike;
+            msgId: MessageIDLike;
+        }
     }
 
     export namespace bots {
@@ -23401,7 +23608,8 @@ export namespace Api {
         | UpdateRecentReactions
         | UpdateMoveStickerSetToTop
         | UpdateMessageExtendedMedia
-        | UpdateChannelPinnedTopic;
+        | UpdateChannelPinnedTopic
+        | UpdateChannelPinnedTopics;
     export type TypeUpdates =
         | UpdatesTooLong
         | UpdateShortMessage
@@ -23783,7 +23991,8 @@ export namespace Api {
         | ChannelAdminLogEventActionCreateTopic
         | ChannelAdminLogEventActionEditTopic
         | ChannelAdminLogEventActionDeleteTopic
-        | ChannelAdminLogEventActionPinTopic;
+        | ChannelAdminLogEventActionPinTopic
+        | ChannelAdminLogEventActionToggleAntiSpam;
     export type TypeChannelAdminLogEvent = ChannelAdminLogEvent;
     export type TypeChannelAdminLogEventsFilter = ChannelAdminLogEventsFilter;
     export type TypePopularContact = PopularContact;
@@ -24017,6 +24226,8 @@ export namespace Api {
     export type TypeStickerKeyword = StickerKeyword;
     export type TypeUsername = Username;
     export type TypeForumTopic = ForumTopicDeleted | ForumTopic;
+    export type TypeDefaultHistoryTTL = DefaultHistoryTTL;
+    export type TypeExportedContactToken = ExportedContactToken;
     export type TypeResPQ = ResPQ;
     export type TypeP_Q_inner_data =
         | PQInnerData
@@ -24102,6 +24313,7 @@ export namespace Api {
         | auth.ImportLoginToken
         | auth.AcceptLoginToken
         | auth.CheckRecoveryPassword
+        | auth.ImportWebTokenAuthorization
         | account.RegisterDevice
         | account.UnregisterDevice
         | account.UpdateNotifySettings
@@ -24208,6 +24420,8 @@ export namespace Api {
         | contacts.GetLocated
         | contacts.BlockFromReplies
         | contacts.ResolvePhone
+        | contacts.ExportContactToken
+        | contacts.ImportContactToken
         | messages.GetMessages
         | messages.GetDialogs
         | messages.GetHistory
@@ -24385,6 +24599,8 @@ export namespace Api {
         | messages.GetRecentReactions
         | messages.ClearRecentReactions
         | messages.GetExtendedMedia
+        | messages.SetDefaultHistoryTTL
+        | messages.GetDefaultHistoryTTL
         | updates.GetState
         | updates.GetDifference
         | updates.GetChannelDifference
@@ -24474,6 +24690,9 @@ export namespace Api {
         | channels.EditForumTopic
         | channels.UpdatePinnedForumTopic
         | channels.DeleteTopicHistory
+        | channels.ReorderPinnedForumTopics
+        | channels.ToggleAntiSpam
+        | channels.ReportAntiSpamFalsePositive
         | bots.SendCustomRequest
         | bots.AnswerWebhookJSONQuery
         | bots.SetBotCommands

+ 24 - 10
gramjs/tl/apiTl.js

@@ -80,7 +80,7 @@ chatForbidden#6592a1a7 id:long title:string = Chat;
 channel#83259464 flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true forum:flags.30?true flags2:# id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int restriction_reason:flags.9?Vector<RestrictionReason> admin_rights:flags.14?ChatAdminRights banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights participants_count:flags.17?int usernames:flags2.0?Vector<Username> = Chat;
 channelForbidden#17d493d5 flags:# broadcast:flags.5?true megagroup:flags.8?true id:long access_hash:long title:string until_date:flags.16?int = Chat;
 chatFull#c9d31138 flags:# can_set_username:flags.7?true has_scheduled:flags.8?true id:long about:string participants:ChatParticipants chat_photo:flags.2?Photo notify_settings:PeerNotifySettings exported_invite:flags.13?ExportedChatInvite bot_info:flags.3?Vector<BotInfo> pinned_msg_id:flags.6?int folder_id:flags.11?int call:flags.12?InputGroupCall ttl_period:flags.14?int groupcall_default_join_as:flags.15?Peer theme_emoticon:flags.16?string requests_pending:flags.17?int recent_requesters:flags.17?Vector<long> available_reactions:flags.18?ChatReactions = ChatFull;
-channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
+channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true antispam:flags2.1?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
 chatParticipant#c02d4007 user_id:long inviter_id:long date:int = ChatParticipant;
 chatParticipantCreator#e46bcee4 user_id:long = ChatParticipant;
 chatParticipantAdmin#a0933f5b user_id:long inviter_id:long date:int = ChatParticipant;
@@ -130,7 +130,7 @@ messageActionContactSignUp#f3f25f76 = MessageAction;
 messageActionGeoProximityReached#98e0d697 from_id:Peer to_id:Peer distance:int = MessageAction;
 messageActionGroupCall#7a0d7f42 flags:# call:InputGroupCall duration:flags.0?int = MessageAction;
 messageActionInviteToGroupCall#502f92f7 call:InputGroupCall users:Vector<long> = MessageAction;
-messageActionSetMessagesTTL#aa1afbfd period:int = MessageAction;
+messageActionSetMessagesTTL#3c134d7b flags:# period:int auto_setting_from:flags.0?long = MessageAction;
 messageActionGroupCallScheduled#b3a07661 call:InputGroupCall schedule_date:int = MessageAction;
 messageActionSetChatTheme#aa786345 emoticon:string = MessageAction;
 messageActionChatJoinedByRequest#ebbca3cb = MessageAction;
@@ -138,8 +138,8 @@ messageActionWebViewDataSentMe#47dd8079 text:string data:string = MessageAction;
 messageActionWebViewDataSent#b4c38cb5 text:string = MessageAction;
 messageActionGiftPremium#aba0f5c6 currency:string amount:long months:int = MessageAction;
 messageActionTopicCreate#d999256 flags:# title:string icon_color:int icon_emoji_id:flags.0?long = MessageAction;
-messageActionTopicEdit#b18a431c flags:# title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool = MessageAction;
-dialog#a8edd0f5 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int = Dialog;
+messageActionTopicEdit#c0944820 flags:# title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool hidden:flags.3?Bool = MessageAction;
+dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
 dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
 photoEmpty#2331b22d id:long = Photo;
 photo#fb197a65 flags:# has_stickers:flags.0?true id:long access_hash:long file_reference:bytes date:int sizes:Vector<PhotoSize> video_sizes:flags.1?Vector<VideoSize> dc_id:int = Photo;
@@ -189,7 +189,7 @@ messages.dialogsSlice#71e094f3 count:int dialogs:Vector<Dialog> messages:Vector<
 messages.dialogsNotModified#f0e3e596 count:int = messages.Dialogs;
 messages.messages#8c718e87 messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
 messages.messagesSlice#3a54685e flags:# inexact:flags.1?true count:int next_rate:flags.0?int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
-messages.channelMessages#64479808 flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
+messages.channelMessages#c776ba4e flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> topics:Vector<ForumTopic> chats:Vector<Chat> users:Vector<User> = messages.Messages;
 messages.messagesNotModified#74535f21 count:int = messages.Messages;
 messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
 messages.chatsSlice#9cd81144 count:int chats:Vector<Chat> = messages.Chats;
@@ -319,7 +319,8 @@ updateRecentEmojiStatuses#30f443db = Update;
 updateRecentReactions#6f7863f4 = Update;
 updateMoveStickerSetToTop#86fccf85 flags:# masks:flags.0?true emojis:flags.1?true stickerset:long = Update;
 updateMessageExtendedMedia#5a73a98c peer:Peer msg_id:int extended_media:MessageExtendedMedia = Update;
-updateChannelPinnedTopic#f694b0ae flags:# channel_id:long topic_id:flags.0?int = Update;
+updateChannelPinnedTopic#192efbe3 flags:# pinned:flags.0?true channel_id:long topic_id:int = Update;
+updateChannelPinnedTopics#fe198602 flags:# channel_id:long order:flags.0?Vector<int> = Update;
 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.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;
@@ -568,6 +569,7 @@ auth.codeTypeSms#72a3158c = auth.CodeType;
 auth.codeTypeCall#741cd3e3 = auth.CodeType;
 auth.codeTypeFlashCall#226ccefb = auth.CodeType;
 auth.codeTypeMissedCall#d61ad6ee = auth.CodeType;
+auth.codeTypeFragmentSms#6ed998c = auth.CodeType;
 auth.sentCodeTypeApp#3dbb5986 length:int = auth.SentCodeType;
 auth.sentCodeTypeSms#c000bba2 length:int = auth.SentCodeType;
 auth.sentCodeTypeCall#5353e5a7 length:int = auth.SentCodeType;
@@ -575,6 +577,7 @@ auth.sentCodeTypeFlashCall#ab03c6d9 pattern:string = auth.SentCodeType;
 auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeType;
 auth.sentCodeTypeEmailCode#5a159841 flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int next_phone_login_date:flags.2?int = 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;
 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.messageEditData#26b5dde6 flags:# caption:flags.0?true = messages.MessageEditData;
 inputBotInlineMessageID#890c3d89 dc_id:int id:long access_hash:long = InputBotInlineMessageID;
@@ -752,6 +755,7 @@ channelAdminLogEventActionCreateTopic#58707d28 topic:ForumTopic = ChannelAdminLo
 channelAdminLogEventActionEditTopic#f06fe208 prev_topic:ForumTopic new_topic:ForumTopic = ChannelAdminLogEventAction;
 channelAdminLogEventActionDeleteTopic#ae168909 topic:ForumTopic = ChannelAdminLogEventAction;
 channelAdminLogEventActionPinTopic#5d8d353b flags:# prev_topic:flags.0?ForumTopic new_topic:flags.1?ForumTopic = ChannelAdminLogEventAction;
+channelAdminLogEventActionToggleAntiSpam#64f36dfc new_value:Bool = ChannelAdminLogEventAction;
 channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
 channels.adminLogResults#ed8af74d events:Vector<ChannelAdminLogEvent> chats:Vector<Chat> users:Vector<User> = channels.AdminLogResults;
 channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?true invite:flags.2?true ban:flags.3?true unban:flags.4?true kick:flags.5?true unkick:flags.6?true promote:flags.7?true demote:flags.8?true info:flags.9?true settings:flags.10?true pinned:flags.11?true edit:flags.12?true delete:flags.13?true group_call:flags.14?true invites:flags.15?true send:flags.16?true forums:flags.17?true = ChannelAdminLogEventsFilter;
@@ -1062,8 +1066,10 @@ messageExtendedMedia#ee479c64 media:MessageMedia = MessageExtendedMedia;
 stickerKeyword#fcfeb29c document_id:long keyword:Vector<string> = StickerKeyword;
 username#b4073647 flags:# editable:flags.0?true active:flags.1?true username:string = Username;
 forumTopicDeleted#23f109b id:int = ForumTopic;
-forumTopic#71701da9 flags:# my:flags.1?true closed:flags.2?true pinned:flags.3?true id:int date:int title:string icon_color:int icon_emoji_id:flags.0?long top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int from_id:Peer notify_settings:PeerNotifySettings draft:flags.4?DraftMessage = ForumTopic;
+forumTopic#71701da9 flags:# my:flags.1?true closed:flags.2?true pinned:flags.3?true short:flags.5?true hidden:flags.6?true id:int date:int title:string icon_color:int icon_emoji_id:flags.0?long top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int from_id:Peer notify_settings:PeerNotifySettings draft:flags.4?DraftMessage = ForumTopic;
 messages.forumTopics#367617d3 flags:# order_by_create_date:flags.0?true count:int topics:Vector<ForumTopic> messages:Vector<Message> chats:Vector<Chat> users:Vector<User> pts:int = messages.ForumTopics;
+defaultHistoryTTL#43b46b20 period:int = DefaultHistoryTTL;
+exportedContactToken#41bf109b url:string expires:int = ExportedContactToken;
 ---functions---
 invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
 invokeAfterMsgs#3dc4b4f0 {X:Type} msg_ids:Vector<long> query:!X = X;
@@ -1091,6 +1097,7 @@ auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long
 auth.importLoginToken#95ac5ce4 token:bytes = auth.LoginToken;
 auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
 auth.checkRecoveryPassword#d36bf79 code:string = Bool;
+auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
 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.unregisterDevice#6a0d3206 token_type:int token:string other_uids:Vector<long> = Bool;
 account.updateNotifySettings#84be5b93 peer:InputNotifyPeer settings:InputPeerNotifySettings = Bool;
@@ -1197,6 +1204,8 @@ contacts.acceptContact#f831a20f id:InputUser = Updates;
 contacts.getLocated#d348bc44 flags:# background:flags.1?true geo_point:InputGeoPoint self_expires:flags.0?int = Updates;
 contacts.blockFromReplies#29a8962c flags:# delete_message:flags.0?true delete_history:flags.1?true report_spam:flags.2?true msg_id:int = Updates;
 contacts.resolvePhone#8af94344 phone:string = contacts.ResolvedPeer;
+contacts.exportContactToken#f8654027 = ExportedContactToken;
+contacts.importContactToken#13005788 token:string = User;
 messages.getMessages#63c66506 id:Vector<InputMessage> = messages.Messages;
 messages.getDialogs#a0f4cb4f flags:# exclude_pinned:flags.0?true folder_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int hash:long = messages.Dialogs;
 messages.getHistory#4423e6c5 peer:InputPeer offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int hash:long = messages.Messages;
@@ -1218,7 +1227,7 @@ messages.editChatTitle#73783ffd chat_id:long title:string = Updates;
 messages.editChatPhoto#35ddd674 chat_id:long photo:InputChatPhoto = Updates;
 messages.addChatUser#f24753e3 chat_id:long user_id:InputUser fwd_limit:int = Updates;
 messages.deleteChatUser#a2185cab flags:# revoke_history:flags.0?true chat_id:long user_id:InputUser = Updates;
-messages.createChat#9cb126e users:Vector<InputUser> title:string = Updates;
+messages.createChat#34a818 flags:# users:Vector<InputUser> title:string ttl_period:flags.0?int = Updates;
 messages.getDhConfig#26cf8950 version:int random_length:int = messages.DhConfig;
 messages.requestEncryption#f64daf43 user_id:InputUser random_id:int g_a:bytes = EncryptedChat;
 messages.acceptEncryption#3dbc0415 peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat;
@@ -1374,6 +1383,8 @@ messages.getTopReactions#bb8125ba limit:int hash:long = messages.Reactions;
 messages.getRecentReactions#39461db2 limit:int hash:long = messages.Reactions;
 messages.clearRecentReactions#9dfeefb4 = Bool;
 messages.getExtendedMedia#84f80814 peer:InputPeer id:Vector<int> = Updates;
+messages.setDefaultHistoryTTL#9eb51445 period:int = Bool;
+messages.getDefaultHistoryTTL#658b7188 = DefaultHistoryTTL;
 updates.getState#edd4882a = updates.State;
 updates.getDifference#25939651 flags:# pts:int pts_total_limit:flags.0?int date:int qts:int = updates.Difference;
 updates.getChannelDifference#3173d78 flags:# force:flags.0?true channel:InputChannel filter:ChannelMessagesFilter pts:int limit:int = updates.ChannelDifference;
@@ -1420,7 +1431,7 @@ channels.getParticipants#77ced9d0 channel:InputChannel filter:ChannelParticipant
 channels.getParticipant#a0ab6cc6 channel:InputChannel participant:InputPeer = channels.ChannelParticipant;
 channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats;
 channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
-channels.createChannel#3d5fb10f flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string = Updates;
+channels.createChannel#91006707 flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string ttl_period:flags.4?int = Updates;
 channels.editAdmin#d33c8902 channel:InputChannel user_id:InputUser admin_rights:ChatAdminRights rank:string = Updates;
 channels.editTitle#566decd0 channel:InputChannel title:string = Updates;
 channels.editPhoto#f12e57c9 channel:InputChannel photo:InputChatPhoto = Updates;
@@ -1460,9 +1471,12 @@ channels.toggleForum#a4298b29 channel:InputChannel enabled:Bool = Updates;
 channels.createForumTopic#f40c0224 flags:# channel:InputChannel title:string icon_color:flags.0?int icon_emoji_id:flags.3?long random_id:long send_as:flags.2?InputPeer = Updates;
 channels.getForumTopics#de560d1 flags:# channel:InputChannel q:flags.0?string offset_date:int offset_id:int offset_topic:int limit:int = messages.ForumTopics;
 channels.getForumTopicsByID#b0831eb9 channel:InputChannel topics:Vector<int> = messages.ForumTopics;
-channels.editForumTopic#6c883e2d flags:# channel:InputChannel topic_id:int title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool = Updates;
+channels.editForumTopic#f4dfa185 flags:# channel:InputChannel topic_id:int title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool hidden:flags.3?Bool = Updates;
 channels.updatePinnedForumTopic#6c2d9026 channel:InputChannel topic_id:int pinned:Bool = Updates;
 channels.deleteTopicHistory#34435f2d channel:InputChannel top_msg_id:int = messages.AffectedHistory;
+channels.reorderPinnedForumTopics#2950a18f flags:# force:flags.0?true channel:InputChannel order:Vector<int> = Updates;
+channels.toggleAntiSpam#68f3e4eb channel:InputChannel enabled:Bool = Updates;
+channels.reportAntiSpamFalsePositive#a850a693 channel:InputChannel msg_id:int = Bool;
 bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
 bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
 bots.setBotCommands#517165a scope:BotCommandScope lang_code:string commands:Vector<BotCommand> = Bool;

+ 27 - 11
gramjs/tl/static/api.tl

@@ -129,7 +129,7 @@ channel#83259464 flags:# creator:flags.0?true left:flags.2?true broadcast:flags.
 channelForbidden#17d493d5 flags:# broadcast:flags.5?true megagroup:flags.8?true id:long access_hash:long title:string until_date:flags.16?int = Chat;
 
 chatFull#c9d31138 flags:# can_set_username:flags.7?true has_scheduled:flags.8?true id:long about:string participants:ChatParticipants chat_photo:flags.2?Photo notify_settings:PeerNotifySettings exported_invite:flags.13?ExportedChatInvite bot_info:flags.3?Vector<BotInfo> pinned_msg_id:flags.6?int folder_id:flags.11?int call:flags.12?InputGroupCall ttl_period:flags.14?int groupcall_default_join_as:flags.15?Peer theme_emoticon:flags.16?string requests_pending:flags.17?int recent_requesters:flags.17?Vector<long> available_reactions:flags.18?ChatReactions = ChatFull;
-channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
+channelFull#f2355507 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true flags2:# can_delete_channel:flags2.0?true antispam:flags2.1?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string requests_pending:flags.28?int recent_requesters:flags.28?Vector<long> default_send_as:flags.29?Peer available_reactions:flags.30?ChatReactions = ChatFull;
 
 chatParticipant#c02d4007 user_id:long inviter_id:long date:int = ChatParticipant;
 chatParticipantCreator#e46bcee4 user_id:long = ChatParticipant;
@@ -185,7 +185,7 @@ messageActionContactSignUp#f3f25f76 = MessageAction;
 messageActionGeoProximityReached#98e0d697 from_id:Peer to_id:Peer distance:int = MessageAction;
 messageActionGroupCall#7a0d7f42 flags:# call:InputGroupCall duration:flags.0?int = MessageAction;
 messageActionInviteToGroupCall#502f92f7 call:InputGroupCall users:Vector<long> = MessageAction;
-messageActionSetMessagesTTL#aa1afbfd period:int = MessageAction;
+messageActionSetMessagesTTL#3c134d7b flags:# period:int auto_setting_from:flags.0?long = MessageAction;
 messageActionGroupCallScheduled#b3a07661 call:InputGroupCall schedule_date:int = MessageAction;
 messageActionSetChatTheme#aa786345 emoticon:string = MessageAction;
 messageActionChatJoinedByRequest#ebbca3cb = MessageAction;
@@ -193,9 +193,9 @@ messageActionWebViewDataSentMe#47dd8079 text:string data:string = MessageAction;
 messageActionWebViewDataSent#b4c38cb5 text:string = MessageAction;
 messageActionGiftPremium#aba0f5c6 currency:string amount:long months:int = MessageAction;
 messageActionTopicCreate#d999256 flags:# title:string icon_color:int icon_emoji_id:flags.0?long = MessageAction;
-messageActionTopicEdit#b18a431c flags:# title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool = MessageAction;
+messageActionTopicEdit#c0944820 flags:# title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool hidden:flags.3?Bool = MessageAction;
 
-dialog#a8edd0f5 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int = Dialog;
+dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
 dialogFolder#71bd134c flags:# pinned:flags.2?true folder:Folder peer:Peer top_message:int unread_muted_peers_count:int unread_unmuted_peers_count:int unread_muted_messages_count:int unread_unmuted_messages_count:int = Dialog;
 
 photoEmpty#2331b22d id:long = Photo;
@@ -266,7 +266,7 @@ messages.dialogsNotModified#f0e3e596 count:int = messages.Dialogs;
 
 messages.messages#8c718e87 messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
 messages.messagesSlice#3a54685e flags:# inexact:flags.1?true count:int next_rate:flags.0?int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
-messages.channelMessages#64479808 flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = messages.Messages;
+messages.channelMessages#c776ba4e flags:# inexact:flags.1?true pts:int count:int offset_id_offset:flags.2?int messages:Vector<Message> topics:Vector<ForumTopic> chats:Vector<Chat> users:Vector<User> = messages.Messages;
 messages.messagesNotModified#74535f21 count:int = messages.Messages;
 
 messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
@@ -401,7 +401,8 @@ updateRecentEmojiStatuses#30f443db = Update;
 updateRecentReactions#6f7863f4 = Update;
 updateMoveStickerSetToTop#86fccf85 flags:# masks:flags.0?true emojis:flags.1?true stickerset:long = Update;
 updateMessageExtendedMedia#5a73a98c peer:Peer msg_id:int extended_media:MessageExtendedMedia = Update;
-updateChannelPinnedTopic#f694b0ae flags:# channel_id:long topic_id:flags.0?int = Update;
+updateChannelPinnedTopic#192efbe3 flags:# pinned:flags.0?true channel_id:long topic_id:int = Update;
+updateChannelPinnedTopics#fe198602 flags:# channel_id:long order:flags.0?Vector<int> = Update;
 
 updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State;
 
@@ -723,6 +724,7 @@ auth.codeTypeSms#72a3158c = auth.CodeType;
 auth.codeTypeCall#741cd3e3 = auth.CodeType;
 auth.codeTypeFlashCall#226ccefb = auth.CodeType;
 auth.codeTypeMissedCall#d61ad6ee = auth.CodeType;
+auth.codeTypeFragmentSms#6ed998c = auth.CodeType;
 
 auth.sentCodeTypeApp#3dbb5986 length:int = auth.SentCodeType;
 auth.sentCodeTypeSms#c000bba2 length:int = auth.SentCodeType;
@@ -731,6 +733,7 @@ auth.sentCodeTypeFlashCall#ab03c6d9 pattern:string = auth.SentCodeType;
 auth.sentCodeTypeMissedCall#82006484 prefix:string length:int = auth.SentCodeType;
 auth.sentCodeTypeEmailCode#5a159841 flags:# apple_signin_allowed:flags.0?true google_signin_allowed:flags.1?true email_pattern:string length:int next_phone_login_date:flags.2?int = 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;
 
 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;
 
@@ -964,6 +967,7 @@ channelAdminLogEventActionCreateTopic#58707d28 topic:ForumTopic = ChannelAdminLo
 channelAdminLogEventActionEditTopic#f06fe208 prev_topic:ForumTopic new_topic:ForumTopic = ChannelAdminLogEventAction;
 channelAdminLogEventActionDeleteTopic#ae168909 topic:ForumTopic = ChannelAdminLogEventAction;
 channelAdminLogEventActionPinTopic#5d8d353b flags:# prev_topic:flags.0?ForumTopic new_topic:flags.1?ForumTopic = ChannelAdminLogEventAction;
+channelAdminLogEventActionToggleAntiSpam#64f36dfc new_value:Bool = ChannelAdminLogEventAction;
 
 channelAdminLogEvent#1fad68cd id:long date:int user_id:long action:ChannelAdminLogEventAction = ChannelAdminLogEvent;
 
@@ -1466,10 +1470,14 @@ stickerKeyword#fcfeb29c document_id:long keyword:Vector<string> = StickerKeyword
 username#b4073647 flags:# editable:flags.0?true active:flags.1?true username:string = Username;
 
 forumTopicDeleted#23f109b id:int = ForumTopic;
-forumTopic#71701da9 flags:# my:flags.1?true closed:flags.2?true pinned:flags.3?true id:int date:int title:string icon_color:int icon_emoji_id:flags.0?long top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int from_id:Peer notify_settings:PeerNotifySettings draft:flags.4?DraftMessage = ForumTopic;
+forumTopic#71701da9 flags:# my:flags.1?true closed:flags.2?true pinned:flags.3?true short:flags.5?true hidden:flags.6?true id:int date:int title:string icon_color:int icon_emoji_id:flags.0?long top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int from_id:Peer notify_settings:PeerNotifySettings draft:flags.4?DraftMessage = ForumTopic;
 
 messages.forumTopics#367617d3 flags:# order_by_create_date:flags.0?true count:int topics:Vector<ForumTopic> messages:Vector<Message> chats:Vector<Chat> users:Vector<User> pts:int = messages.ForumTopics;
 
+defaultHistoryTTL#43b46b20 period:int = DefaultHistoryTTL;
+
+exportedContactToken#41bf109b url:string expires:int = ExportedContactToken;
+
 ---functions---
 
 invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X;
@@ -1499,6 +1507,7 @@ auth.exportLoginToken#b7e085fe api_id:int api_hash:string except_ids:Vector<long
 auth.importLoginToken#95ac5ce4 token:bytes = auth.LoginToken;
 auth.acceptLoginToken#e894ad4d token:bytes = Authorization;
 auth.checkRecoveryPassword#d36bf79 code:string = Bool;
+auth.importWebTokenAuthorization#2db873a9 api_id:int api_hash:string web_auth_token:string = auth.Authorization;
 
 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.unregisterDevice#6a0d3206 token_type:int token:string other_uids:Vector<long> = Bool;
@@ -1608,6 +1617,8 @@ contacts.acceptContact#f831a20f id:InputUser = Updates;
 contacts.getLocated#d348bc44 flags:# background:flags.1?true geo_point:InputGeoPoint self_expires:flags.0?int = Updates;
 contacts.blockFromReplies#29a8962c flags:# delete_message:flags.0?true delete_history:flags.1?true report_spam:flags.2?true msg_id:int = Updates;
 contacts.resolvePhone#8af94344 phone:string = contacts.ResolvedPeer;
+contacts.exportContactToken#f8654027 = ExportedContactToken;
+contacts.importContactToken#13005788 token:string = User;
 
 messages.getMessages#63c66506 id:Vector<InputMessage> = messages.Messages;
 messages.getDialogs#a0f4cb4f flags:# exclude_pinned:flags.0?true folder_id:flags.1?int offset_date:int offset_id:int offset_peer:InputPeer limit:int hash:long = messages.Dialogs;
@@ -1630,7 +1641,7 @@ messages.editChatTitle#73783ffd chat_id:long title:string = Updates;
 messages.editChatPhoto#35ddd674 chat_id:long photo:InputChatPhoto = Updates;
 messages.addChatUser#f24753e3 chat_id:long user_id:InputUser fwd_limit:int = Updates;
 messages.deleteChatUser#a2185cab flags:# revoke_history:flags.0?true chat_id:long user_id:InputUser = Updates;
-messages.createChat#9cb126e users:Vector<InputUser> title:string = Updates;
+messages.createChat#34a818 flags:# users:Vector<InputUser> title:string ttl_period:flags.0?int = Updates;
 messages.getDhConfig#26cf8950 version:int random_length:int = messages.DhConfig;
 messages.requestEncryption#f64daf43 user_id:InputUser random_id:int g_a:bytes = EncryptedChat;
 messages.acceptEncryption#3dbc0415 peer:InputEncryptedChat g_b:bytes key_fingerprint:long = EncryptedChat;
@@ -1786,6 +1797,8 @@ messages.getTopReactions#bb8125ba limit:int hash:long = messages.Reactions;
 messages.getRecentReactions#39461db2 limit:int hash:long = messages.Reactions;
 messages.clearRecentReactions#9dfeefb4 = Bool;
 messages.getExtendedMedia#84f80814 peer:InputPeer id:Vector<int> = Updates;
+messages.setDefaultHistoryTTL#9eb51445 period:int = Bool;
+messages.getDefaultHistoryTTL#658b7188 = DefaultHistoryTTL;
 
 updates.getState#edd4882a = updates.State;
 updates.getDifference#25939651 flags:# pts:int pts_total_limit:flags.0?int date:int qts:int = updates.Difference;
@@ -1837,7 +1850,7 @@ channels.getParticipants#77ced9d0 channel:InputChannel filter:ChannelParticipant
 channels.getParticipant#a0ab6cc6 channel:InputChannel participant:InputPeer = channels.ChannelParticipant;
 channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats;
 channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull;
-channels.createChannel#3d5fb10f flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string = Updates;
+channels.createChannel#91006707 flags:# broadcast:flags.0?true megagroup:flags.1?true for_import:flags.3?true title:string about:string geo_point:flags.2?InputGeoPoint address:flags.2?string ttl_period:flags.4?int = Updates;
 channels.editAdmin#d33c8902 channel:InputChannel user_id:InputUser admin_rights:ChatAdminRights rank:string = Updates;
 channels.editTitle#566decd0 channel:InputChannel title:string = Updates;
 channels.editPhoto#f12e57c9 channel:InputChannel photo:InputChatPhoto = Updates;
@@ -1877,9 +1890,12 @@ channels.toggleForum#a4298b29 channel:InputChannel enabled:Bool = Updates;
 channels.createForumTopic#f40c0224 flags:# channel:InputChannel title:string icon_color:flags.0?int icon_emoji_id:flags.3?long random_id:long send_as:flags.2?InputPeer = Updates;
 channels.getForumTopics#de560d1 flags:# channel:InputChannel q:flags.0?string offset_date:int offset_id:int offset_topic:int limit:int = messages.ForumTopics;
 channels.getForumTopicsByID#b0831eb9 channel:InputChannel topics:Vector<int> = messages.ForumTopics;
-channels.editForumTopic#6c883e2d flags:# channel:InputChannel topic_id:int title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool = Updates;
+channels.editForumTopic#f4dfa185 flags:# channel:InputChannel topic_id:int title:flags.0?string icon_emoji_id:flags.1?long closed:flags.2?Bool hidden:flags.3?Bool = Updates;
 channels.updatePinnedForumTopic#6c2d9026 channel:InputChannel topic_id:int pinned:Bool = Updates;
 channels.deleteTopicHistory#34435f2d channel:InputChannel top_msg_id:int = messages.AffectedHistory;
+channels.reorderPinnedForumTopics#2950a18f flags:# force:flags.0?true channel:InputChannel order:Vector<int> = Updates;
+channels.toggleAntiSpam#68f3e4eb channel:InputChannel enabled:Bool = Updates;
+channels.reportAntiSpamFalsePositive#a850a693 channel:InputChannel msg_id:int = Bool;
 
 bots.sendCustomRequest#aa2769ed custom_method:string params:DataJSON = DataJSON;
 bots.answerWebhookJSONQuery#e6213f4d query_id:long data:DataJSON = Bool;
@@ -1958,4 +1974,4 @@ stats.getMegagroupStats#dcdf8607 flags:# dark:flags.0?true channel:InputChannel
 stats.getMessagePublicForwards#5630281b channel:InputChannel msg_id:int offset_rate:int offset_peer:InputPeer offset_id:int limit:int = messages.Messages;
 stats.getMessageStats#b6e0a3f5 flags:# dark:flags.0?true channel:InputChannel msg_id:int = stats.MessageStats;
 
-// LAYER 148
+// LAYER 150

+ 2 - 2
package-lock.json

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

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "telegram",
-  "version": "2.14.9",
+  "version": "2.15.0",
   "description": "NodeJS/Browser MTProto API Telegram client library,",
   "main": "index.js",
   "types": "index.d.ts",
@@ -68,4 +68,4 @@
     "node-localstorage": "^2.2.1",
     "socks": "^2.6.2"
   }
-}
+}