From b6f927c99b49b680fd152607c7fad0ad58b16a31 Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Sun, 22 Feb 2026 23:43:08 +0100 Subject: [PATCH] Layer 224 (#6683) Co-authored-by: Dmitry Kabanov <153344039+dmitrykabanovdev@users.noreply.github.com> --- src/api/gramjs/apiBuilders/gifts.ts | 4 + src/api/types/misc.ts | 2 +- src/api/types/stars.ts | 2 +- src/assets/localization/fallback.strings | 3 + src/components/common/helpers/gifts.ts | 29 ++-- src/global/actions/api/bots.ts | 21 +++ src/lib/gramjs/tl/AllTLObjects.ts | 2 +- src/lib/gramjs/tl/api.d.ts | 170 +++++++++++++++++++---- src/lib/gramjs/tl/apiTl.ts | 46 +++--- src/lib/gramjs/tl/static/api.tl | 47 ++++--- src/types/language.d.ts | 5 + 11 files changed, 245 insertions(+), 86 deletions(-) diff --git a/src/api/gramjs/apiBuilders/gifts.ts b/src/api/gramjs/apiBuilders/gifts.ts index fca1f844c..8eca61b40 100644 --- a/src/api/gramjs/apiBuilders/gifts.ts +++ b/src/api/gramjs/apiBuilders/gifts.ts @@ -110,6 +110,10 @@ export function buildApiStarGift(starGift: GramJs.TypeStarGift): ApiStarGift { } function buildApiStarGiftAttributeRarity(rarity: GramJs.TypeStarGiftAttributeRarity): ApiStarGiftAttributeRarity { + if (rarity instanceof GramJs.StarGiftAttributeRarityUncommon) { + return { type: 'uncommon' }; + } + if (rarity instanceof GramJs.StarGiftAttributeRarityRare) { return { type: 'rare' }; } diff --git a/src/api/types/misc.ts b/src/api/types/misc.ts index 168a89538..d3a8a35fa 100644 --- a/src/api/types/misc.ts +++ b/src/api/types/misc.ts @@ -353,7 +353,7 @@ type ApiUrlAuthResultRequest = { type ApiUrlAuthResultAccepted = { type: 'accepted'; - url: string; + url?: string; }; type ApiUrlAuthResultDefault = { diff --git a/src/api/types/stars.ts b/src/api/types/stars.ts index 127e7ae12..f3aab7754 100644 --- a/src/api/types/stars.ts +++ b/src/api/types/stars.ts @@ -66,7 +66,7 @@ export interface ApiStarGiftUnique { export type ApiStarGift = ApiStarGiftRegular | ApiStarGiftUnique; interface ApiStarGiftAttributeRarityUncommon { - type: 'rare' | 'epic' | 'legendary'; + type: 'uncommon' | 'rare' | 'epic' | 'legendary'; } interface ApiStarGiftAttributeRarityRegular { diff --git a/src/assets/localization/fallback.strings b/src/assets/localization/fallback.strings index cb509c7d6..74a8aa032 100644 --- a/src/assets/localization/fallback.strings +++ b/src/assets/localization/fallback.strings @@ -1569,6 +1569,7 @@ "GiftAttributeModel" = "Model"; "GiftAttributeBackdrop" = "Backdrop"; "GiftAttributeSymbol" = "Symbol"; +"GiftRarityUncommon" = "Uncommon"; "GiftRarityRare" = "Rare"; "GiftRarityEpic" = "Epic"; "GiftRarityLegendary" = "Legendary"; @@ -2631,3 +2632,5 @@ "ChatListAuctionOutbid" = "You've been outbid"; "ChatListAuctionMixed" = "You are winning in {winCount} and outbid in {outbidCount}"; "ChatListAuctionView" = "View"; +"BotAuthSuccessTitle" = "Login Successful"; +"BotAuthSuccessText" = "You've successfully logged into **{url}**"; diff --git a/src/components/common/helpers/gifts.ts b/src/components/common/helpers/gifts.ts index 78a7f8bb8..e8b58d6ff 100644 --- a/src/components/common/helpers/gifts.ts +++ b/src/components/common/helpers/gifts.ts @@ -140,21 +140,18 @@ export function getGiftRarityTitle( lang: LangFn, rarity: ApiStarGiftAttributeModel['rarity'], ) { - if (rarity.type === 'rare') { - return lang('GiftRarityRare'); + switch (rarity.type) { + case 'uncommon': + return lang('GiftRarityUncommon'); + case 'rare': + return lang('GiftRarityRare'); + case 'epic': + return lang('GiftRarityEpic'); + case 'legendary': + return lang('GiftRarityLegendary'); + case 'regular': + return formatPercent(rarity.rarityPercent); + default: + return undefined; } - - if (rarity.type === 'epic') { - return lang('GiftRarityEpic'); - } - - if (rarity.type === 'legendary') { - return lang('GiftRarityLegendary'); - } - - if (rarity.type === 'regular') { - return formatPercent(rarity.rarityPercent); - } - - return undefined; } diff --git a/src/global/actions/api/bots.ts b/src/global/actions/api/bots.ts index 78c47bac8..541d12c4f 100644 --- a/src/global/actions/api/bots.ts +++ b/src/global/actions/api/bots.ts @@ -1215,6 +1215,27 @@ function handleUrlAuthResult( return; } + if (result.type === 'accepted' && !result.url) { + actions.showNotification({ + message: { + key: 'BotAuthSuccessText', + variables: { + url, + }, + options: { + withMarkdown: true, + withNodes: true, + }, + }, + title: { + key: 'BotAuthSuccessTitle', + }, + tabId, + }); + actions.closeUrlAuthModal({ tabId }); + return; + } + const siteUrl = result.type === 'accepted' ? result.url : url; window.open(siteUrl, '_blank', 'noopener'); actions.closeUrlAuthModal({ tabId }); diff --git a/src/lib/gramjs/tl/AllTLObjects.ts b/src/lib/gramjs/tl/AllTLObjects.ts index ff62cbf34..355c0ef37 100644 --- a/src/lib/gramjs/tl/AllTLObjects.ts +++ b/src/lib/gramjs/tl/AllTLObjects.ts @@ -12,6 +12,6 @@ for (const tl of Object.values(Api)) { } } -export const LAYER = 222; +export const LAYER = 224; export { tlobjects }; diff --git a/src/lib/gramjs/tl/api.d.ts b/src/lib/gramjs/tl/api.d.ts index 8c2ad3f6f..86cc3dc2a 100644 --- a/src/lib/gramjs/tl/api.d.ts +++ b/src/lib/gramjs/tl/api.d.ts @@ -67,7 +67,7 @@ namespace Api { export type TypeChatPhoto = ChatPhotoEmpty | ChatPhoto; export type TypeMessage = MessageEmpty | Message | MessageService; export type TypeMessageMedia = MessageMediaEmpty | MessageMediaPhoto | MessageMediaGeo | MessageMediaContact | MessageMediaUnsupported | MessageMediaDocument | MessageMediaWebPage | MessageMediaVenue | MessageMediaGame | MessageMediaInvoice | MessageMediaGeoLive | MessageMediaPoll | MessageMediaDice | MessageMediaStory | MessageMediaGiveaway | MessageMediaGiveawayResults | MessageMediaPaidMedia | MessageMediaToDo | MessageMediaVideoStream; - export type TypeMessageAction = MessageActionEmpty | MessageActionChatCreate | MessageActionChatEditTitle | MessageActionChatEditPhoto | MessageActionChatDeletePhoto | MessageActionChatAddUser | MessageActionChatDeleteUser | MessageActionChatJoinedByLink | MessageActionChannelCreate | MessageActionChatMigrateTo | MessageActionChannelMigrateFrom | MessageActionPinMessage | MessageActionHistoryClear | MessageActionGameScore | MessageActionPaymentSentMe | MessageActionPaymentSent | MessageActionPhoneCall | MessageActionScreenshotTaken | MessageActionCustomAction | MessageActionBotAllowed | MessageActionSecureValuesSentMe | MessageActionSecureValuesSent | MessageActionContactSignUp | MessageActionGeoProximityReached | MessageActionGroupCall | MessageActionInviteToGroupCall | MessageActionSetMessagesTTL | MessageActionGroupCallScheduled | MessageActionSetChatTheme | MessageActionChatJoinedByRequest | MessageActionWebViewDataSentMe | MessageActionWebViewDataSent | MessageActionGiftPremium | MessageActionTopicCreate | MessageActionTopicEdit | MessageActionSuggestProfilePhoto | MessageActionRequestedPeer | MessageActionSetChatWallPaper | MessageActionGiftCode | MessageActionGiveawayLaunch | MessageActionGiveawayResults | MessageActionBoostApply | MessageActionRequestedPeerSentMe | MessageActionPaymentRefunded | MessageActionGiftStars | MessageActionPrizeStars | MessageActionStarGift | MessageActionStarGiftUnique | MessageActionPaidMessagesRefunded | MessageActionPaidMessagesPrice | MessageActionConferenceCall | MessageActionTodoCompletions | MessageActionTodoAppendTasks | MessageActionSuggestedPostApproval | MessageActionSuggestedPostSuccess | MessageActionSuggestedPostRefund | MessageActionGiftTon | MessageActionSuggestBirthday | MessageActionStarGiftPurchaseOffer | MessageActionStarGiftPurchaseOfferDeclined; + export type TypeMessageAction = MessageActionEmpty | MessageActionChatCreate | MessageActionChatEditTitle | MessageActionChatEditPhoto | MessageActionChatDeletePhoto | MessageActionChatAddUser | MessageActionChatDeleteUser | MessageActionChatJoinedByLink | MessageActionChannelCreate | MessageActionChatMigrateTo | MessageActionChannelMigrateFrom | MessageActionPinMessage | MessageActionHistoryClear | MessageActionGameScore | MessageActionPaymentSentMe | MessageActionPaymentSent | MessageActionPhoneCall | MessageActionScreenshotTaken | MessageActionCustomAction | MessageActionBotAllowed | MessageActionSecureValuesSentMe | MessageActionSecureValuesSent | MessageActionContactSignUp | MessageActionGeoProximityReached | MessageActionGroupCall | MessageActionInviteToGroupCall | MessageActionSetMessagesTTL | MessageActionGroupCallScheduled | MessageActionSetChatTheme | MessageActionChatJoinedByRequest | MessageActionWebViewDataSentMe | MessageActionWebViewDataSent | MessageActionGiftPremium | MessageActionTopicCreate | MessageActionTopicEdit | MessageActionSuggestProfilePhoto | MessageActionRequestedPeer | MessageActionSetChatWallPaper | MessageActionGiftCode | MessageActionGiveawayLaunch | MessageActionGiveawayResults | MessageActionBoostApply | MessageActionRequestedPeerSentMe | MessageActionPaymentRefunded | MessageActionGiftStars | MessageActionPrizeStars | MessageActionStarGift | MessageActionStarGiftUnique | MessageActionPaidMessagesRefunded | MessageActionPaidMessagesPrice | MessageActionConferenceCall | MessageActionTodoCompletions | MessageActionTodoAppendTasks | MessageActionSuggestedPostApproval | MessageActionSuggestedPostSuccess | MessageActionSuggestedPostRefund | MessageActionGiftTon | MessageActionSuggestBirthday | MessageActionStarGiftPurchaseOffer | MessageActionStarGiftPurchaseOfferDeclined | MessageActionNewCreatorPending | MessageActionChangeCreator; export type TypeDialog = Dialog | DialogFolder; export type TypePhoto = PhotoEmpty | Photo; export type TypePhotoSize = PhotoSizeEmpty | PhotoSize | PhotoCachedSize | PhotoStrippedSize | PhotoSizeProgressive | PhotoPathSize; @@ -417,7 +417,8 @@ namespace Api { export type TypeInputPasskeyCredential = InputPasskeyCredentialPublicKey | InputPasskeyCredentialFirebasePNV; export type TypeStarGiftBackground = StarGiftBackground; export type TypeStarGiftAuctionRound = StarGiftAuctionRound | StarGiftAuctionRoundExtendable; - export type TypeStarGiftAttributeRarity = StarGiftAttributeRarity | StarGiftAttributeRarityRare | StarGiftAttributeRarityEpic | StarGiftAttributeRarityLegendary; + export type TypeStarGiftAttributeRarity = StarGiftAttributeRarity | StarGiftAttributeRarityUncommon | StarGiftAttributeRarityRare | StarGiftAttributeRarityEpic | StarGiftAttributeRarityLegendary; + export type TypeKeyboardButtonStyle = KeyboardButtonStyle; export type TypeResPQ = ResPQ; export type TypeP_Q_inner_data = PQInnerData | PQInnerDataDc | PQInnerDataTemp | PQInnerDataTempDc; export type TypeServer_DH_Params = ServerDHParamsFail | ServerDHParamsOk; @@ -3551,6 +3552,26 @@ namespace Api { static fromReader(reader: Reader): MessageActionStarGiftPurchaseOfferDeclined; } + export class MessageActionNewCreatorPending extends VirtualClass<{ + newCreatorId: long; + }> { + newCreatorId: long; + CONSTRUCTOR_ID: 2961100933; + SUBCLASS_OF_ID: 2256589094; + className: 'MessageActionNewCreatorPending'; + + static fromReader(reader: Reader): MessageActionNewCreatorPending; + } + export class MessageActionChangeCreator extends VirtualClass<{ + newCreatorId: long; + }> { + newCreatorId: long; + CONSTRUCTOR_ID: 3783807035; + SUBCLASS_OF_ID: 2256589094; + className: 'MessageActionChangeCreator'; + + static fromReader(reader: Reader): MessageActionChangeCreator; + } export class Dialog extends VirtualClass<{ // flags: Api.Type; pinned?: true; @@ -8158,22 +8179,30 @@ namespace Api { static fromReader(reader: Reader): BotInfo; } export class KeyboardButton extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; - CONSTRUCTOR_ID: 2734311552; + CONSTRUCTOR_ID: 2098662655; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButton'; static fromReader(reader: Reader): KeyboardButton; } export class KeyboardButtonUrl extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; url: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; url: string; - CONSTRUCTOR_ID: 629866245; + CONSTRUCTOR_ID: 3624674796; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonUrl'; @@ -8182,34 +8211,44 @@ namespace Api { export class KeyboardButtonCallback extends VirtualClass<{ // flags: Api.Type; requiresPassword?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; data: bytes; }> { // flags: Api.Type; requiresPassword?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; data: bytes; - CONSTRUCTOR_ID: 901503851; + CONSTRUCTOR_ID: 3861629280; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonCallback'; static fromReader(reader: Reader): KeyboardButtonCallback; } export class KeyboardButtonRequestPhone extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; - CONSTRUCTOR_ID: 2976541737; + CONSTRUCTOR_ID: 1098841487; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonRequestPhone'; static fromReader(reader: Reader): KeyboardButtonRequestPhone; } export class KeyboardButtonRequestGeoLocation extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; - CONSTRUCTOR_ID: 4235815743; + CONSTRUCTOR_ID: 2856384845; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonRequestGeoLocation'; @@ -8218,36 +8257,46 @@ namespace Api { export class KeyboardButtonSwitchInline extends VirtualClass<{ // flags: Api.Type; samePeer?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; query: string; peerTypes?: Api.TypeInlineQueryPeerType[]; }> { // flags: Api.Type; samePeer?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; query: string; peerTypes?: Api.TypeInlineQueryPeerType[]; - CONSTRUCTOR_ID: 2478439349; + CONSTRUCTOR_ID: 2568198652; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonSwitchInline'; static fromReader(reader: Reader): KeyboardButtonSwitchInline; } export class KeyboardButtonGame extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; - CONSTRUCTOR_ID: 1358175439; + CONSTRUCTOR_ID: 2311426297; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonGame'; static fromReader(reader: Reader): KeyboardButtonGame; } export class KeyboardButtonBuy extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; - CONSTRUCTOR_ID: 2950250427; + CONSTRUCTOR_ID: 1067792645; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonBuy'; @@ -8255,17 +8304,19 @@ namespace Api { } export class KeyboardButtonUrlAuth extends VirtualClass<{ // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; fwdText?: string; url: string; buttonId: int; }> { // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; fwdText?: string; url: string; buttonId: int; - CONSTRUCTOR_ID: 280464681; + CONSTRUCTOR_ID: 4111468281; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonUrlAuth'; @@ -8274,6 +8325,7 @@ namespace Api { export class InputKeyboardButtonUrlAuth extends VirtualClass<{ // flags: Api.Type; requestWriteAccess?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; fwdText?: string; url: string; @@ -8281,11 +8333,12 @@ namespace Api { }> { // flags: Api.Type; requestWriteAccess?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; fwdText?: string; url: string; bot: Api.TypeInputUser; - CONSTRUCTOR_ID: 3492708308; + CONSTRUCTOR_ID: 1744911986; SUBCLASS_OF_ID: 195916963; className: 'InputKeyboardButtonUrlAuth'; @@ -8293,77 +8346,99 @@ namespace Api { } export class KeyboardButtonRequestPoll extends VirtualClass<{ // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; quiz?: Bool; text: string; }> { // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; quiz?: Bool; text: string; - CONSTRUCTOR_ID: 3150401885; + CONSTRUCTOR_ID: 2047989634; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonRequestPoll'; static fromReader(reader: Reader): KeyboardButtonRequestPoll; } export class InputKeyboardButtonUserProfile extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; userId: Api.TypeInputUser; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; userId: Api.TypeInputUser; - CONSTRUCTOR_ID: 3918005115; + CONSTRUCTOR_ID: 2103314375; SUBCLASS_OF_ID: 195916963; className: 'InputKeyboardButtonUserProfile'; static fromReader(reader: Reader): InputKeyboardButtonUserProfile; } export class KeyboardButtonUserProfile extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; userId: long; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; userId: long; - CONSTRUCTOR_ID: 814112961; + CONSTRUCTOR_ID: 3237829897; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonUserProfile'; static fromReader(reader: Reader): KeyboardButtonUserProfile; } export class KeyboardButtonWebView extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; url: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; url: string; - CONSTRUCTOR_ID: 326529584; + CONSTRUCTOR_ID: 3896947104; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonWebView'; static fromReader(reader: Reader): KeyboardButtonWebView; } export class KeyboardButtonSimpleWebView extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; url: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; url: string; - CONSTRUCTOR_ID: 2696958044; + CONSTRUCTOR_ID: 3780920176; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonSimpleWebView'; static fromReader(reader: Reader): KeyboardButtonSimpleWebView; } export class KeyboardButtonRequestPeer extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; buttonId: int; peerType: Api.TypeRequestPeerType; maxQuantity: int; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; buttonId: int; peerType: Api.TypeRequestPeerType; maxQuantity: int; - CONSTRUCTOR_ID: 1406648280; + CONSTRUCTOR_ID: 1527715317; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonRequestPeer'; @@ -8374,6 +8449,7 @@ namespace Api { nameRequested?: true; usernameRequested?: true; photoRequested?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; buttonId: int; peerType: Api.TypeRequestPeerType; @@ -8383,23 +8459,28 @@ namespace Api { nameRequested?: true; usernameRequested?: true; photoRequested?: true; + style?: Api.TypeKeyboardButtonStyle; text: string; buttonId: int; peerType: Api.TypeRequestPeerType; maxQuantity: int; - CONSTRUCTOR_ID: 3378916613; + CONSTRUCTOR_ID: 45580630; SUBCLASS_OF_ID: 195916963; className: 'InputKeyboardButtonRequestPeer'; static fromReader(reader: Reader): InputKeyboardButtonRequestPeer; } export class KeyboardButtonCopy extends VirtualClass<{ + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; copyText: string; }> { + // flags: Api.Type; + style?: Api.TypeKeyboardButtonStyle; text: string; copyText: string; - CONSTRUCTOR_ID: 1976723854; + CONSTRUCTOR_ID: 3167006480; SUBCLASS_OF_ID: 195916963; className: 'KeyboardButtonCopy'; @@ -13042,24 +13123,36 @@ namespace Api { export class UrlAuthResultRequest extends VirtualClass<{ // flags: Api.Type; requestWriteAccess?: true; + requestPhoneNumber?: true; bot: Api.TypeUser; domain: string; + browser?: string; + platform?: string; + ip?: string; + region?: string; }> { // flags: Api.Type; requestWriteAccess?: true; + requestPhoneNumber?: true; bot: Api.TypeUser; domain: string; - CONSTRUCTOR_ID: 2463316494; + browser?: string; + platform?: string; + ip?: string; + region?: string; + CONSTRUCTOR_ID: 855293722; SUBCLASS_OF_ID: 2003159838; className: 'UrlAuthResultRequest'; static fromReader(reader: Reader): UrlAuthResultRequest; } export class UrlAuthResultAccepted extends VirtualClass<{ - url: string; - }> { - url: string; - CONSTRUCTOR_ID: 2408320590; + // flags: Api.Type; + url?: string; + } | void> { + // flags: Api.Type; + url?: string; + CONSTRUCTOR_ID: 1648005024; SUBCLASS_OF_ID: 2003159838; className: 'UrlAuthResultAccepted'; @@ -18415,6 +18508,13 @@ namespace Api { static fromReader(reader: Reader): StarGiftAttributeRarity; } + export class StarGiftAttributeRarityUncommon extends VirtualClass { + CONSTRUCTOR_ID: 3687736201; + SUBCLASS_OF_ID: 260508966; + className: 'StarGiftAttributeRarityUncommon'; + + static fromReader(reader: Reader): StarGiftAttributeRarityUncommon; + } export class StarGiftAttributeRarityRare extends VirtualClass { CONSTRUCTOR_ID: 4035793259; SUBCLASS_OF_ID: 260508966; @@ -18436,6 +18536,24 @@ namespace Api { static fromReader(reader: Reader): StarGiftAttributeRarityLegendary; } + export class KeyboardButtonStyle extends VirtualClass<{ + // flags: Api.Type; + bgPrimary?: true; + bgDanger?: true; + bgSuccess?: true; + icon?: long; + } | void> { + // flags: Api.Type; + bgPrimary?: true; + bgDanger?: true; + bgSuccess?: true; + icon?: long; + CONSTRUCTOR_ID: 1339896880; + SUBCLASS_OF_ID: 334647835; + className: 'KeyboardButtonStyle'; + + static fromReader(reader: Reader): KeyboardButtonStyle; + } export class ResPQ extends VirtualClass<{ nonce: int128; serverNonce: int128; @@ -26078,6 +26196,7 @@ namespace Api { export class AcceptUrlAuth extends Request<{ // flags: Api.Type; writeAllowed?: true; + sharePhoneNumber?: true; peer?: Api.TypeInputPeer; msgId?: int; buttonId?: int; @@ -26085,6 +26204,7 @@ namespace Api { } | void, Api.TypeUrlAuthResult> { // flags: Api.Type; writeAllowed?: true; + sharePhoneNumber?: true; peer?: Api.TypeInputPeer; msgId?: int; buttonId?: int; diff --git a/src/lib/gramjs/tl/apiTl.ts b/src/lib/gramjs/tl/apiTl.ts index 15e749cd7..5356fa604 100644 --- a/src/lib/gramjs/tl/apiTl.ts +++ b/src/lib/gramjs/tl/apiTl.ts @@ -175,6 +175,8 @@ messageActionGiftTon#a8a3c699 flags:# currency:string amount:long crypto_currenc messageActionSuggestBirthday#2c8f2a25 birthday:Birthday = MessageAction; messageActionStarGiftPurchaseOffer#774278d4 flags:# accepted:flags.0?true declined:flags.1?true gift:StarGift price:StarsAmount expires_at:int = MessageAction; messageActionStarGiftPurchaseOfferDeclined#73ada76b flags:# expired:flags.0?true gift:StarGift price:StarsAmount = MessageAction; +messageActionNewCreatorPending#b07ed085 new_creator_id:long = MessageAction; +messageActionChangeCreator#e188503b new_creator_id:long = MessageAction; dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?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; @@ -574,24 +576,24 @@ messages.stickerSet#6e153f16 set:StickerSet packs:Vector keywords:V messages.stickerSetNotModified#d3f924eb = messages.StickerSet; botCommand#c27ac8c7 command:string description:string = BotCommand; botInfo#4d8a0299 flags:# has_preview_medias:flags.6?true user_id:flags.0?long description:flags.1?string description_photo:flags.4?Photo description_document:flags.5?Document commands:flags.2?Vector menu_button:flags.3?BotMenuButton privacy_policy_url:flags.7?string app_settings:flags.8?BotAppSettings verifier_settings:flags.9?BotVerifierSettings = BotInfo; -keyboardButton#a2fa4880 text:string = KeyboardButton; -keyboardButtonUrl#258aff05 text:string url:string = KeyboardButton; -keyboardButtonCallback#35bbdb6b flags:# requires_password:flags.0?true text:string data:bytes = KeyboardButton; -keyboardButtonRequestPhone#b16a6c29 text:string = KeyboardButton; -keyboardButtonRequestGeoLocation#fc796b3f text:string = KeyboardButton; -keyboardButtonSwitchInline#93b9fbb5 flags:# same_peer:flags.0?true text:string query:string peer_types:flags.1?Vector = KeyboardButton; -keyboardButtonGame#50f41ccf text:string = KeyboardButton; -keyboardButtonBuy#afd93fbb text:string = KeyboardButton; -keyboardButtonUrlAuth#10b78d29 flags:# text:string fwd_text:flags.0?string url:string button_id:int = KeyboardButton; -inputKeyboardButtonUrlAuth#d02e7fd4 flags:# request_write_access:flags.0?true text:string fwd_text:flags.1?string url:string bot:InputUser = KeyboardButton; -keyboardButtonRequestPoll#bbc7515d flags:# quiz:flags.0?Bool text:string = KeyboardButton; -inputKeyboardButtonUserProfile#e988037b text:string user_id:InputUser = KeyboardButton; -keyboardButtonUserProfile#308660c1 text:string user_id:long = KeyboardButton; -keyboardButtonWebView#13767230 text:string url:string = KeyboardButton; -keyboardButtonSimpleWebView#a0c0505c text:string url:string = KeyboardButton; -keyboardButtonRequestPeer#53d7bfd8 text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; -inputKeyboardButtonRequestPeer#c9662d05 flags:# name_requested:flags.0?true username_requested:flags.1?true photo_requested:flags.2?true text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; -keyboardButtonCopy#75d2698e text:string copy_text:string = KeyboardButton; +keyboardButton#7d170cff flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonUrl#d80c25ec flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; +keyboardButtonCallback#e62bc960 flags:# requires_password:flags.0?true style:flags.10?KeyboardButtonStyle text:string data:bytes = KeyboardButton; +keyboardButtonRequestPhone#417efd8f flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonRequestGeoLocation#aa40f94d flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonSwitchInline#991399fc flags:# same_peer:flags.0?true style:flags.10?KeyboardButtonStyle text:string query:string peer_types:flags.1?Vector = KeyboardButton; +keyboardButtonGame#89c590f9 flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonBuy#3fa53905 flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonUrlAuth#f51006f9 flags:# style:flags.10?KeyboardButtonStyle text:string fwd_text:flags.0?string url:string button_id:int = KeyboardButton; +inputKeyboardButtonUrlAuth#68013e72 flags:# request_write_access:flags.0?true style:flags.10?KeyboardButtonStyle text:string fwd_text:flags.1?string url:string bot:InputUser = KeyboardButton; +keyboardButtonRequestPoll#7a11d782 flags:# style:flags.10?KeyboardButtonStyle quiz:flags.0?Bool text:string = KeyboardButton; +inputKeyboardButtonUserProfile#7d5e07c7 flags:# style:flags.10?KeyboardButtonStyle text:string user_id:InputUser = KeyboardButton; +keyboardButtonUserProfile#c0fd5d09 flags:# style:flags.10?KeyboardButtonStyle text:string user_id:long = KeyboardButton; +keyboardButtonWebView#e846b1a0 flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; +keyboardButtonSimpleWebView#e15c4370 flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; +keyboardButtonRequestPeer#5b0f15f5 flags:# style:flags.10?KeyboardButtonStyle text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; +inputKeyboardButtonRequestPeer#2b78156 flags:# name_requested:flags.0?true username_requested:flags.1?true photo_requested:flags.2?true style:flags.10?KeyboardButtonStyle text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; +keyboardButtonCopy#bcc4af10 flags:# style:flags.10?KeyboardButtonStyle text:string copy_text:string = KeyboardButton; keyboardButtonRow#77608b83 buttons:Vector = KeyboardButtonRow; replyKeyboardHide#a03e5b85 flags:# selective:flags.2?true = ReplyMarkup; replyKeyboardForceReply#86b40b08 flags:# single_use:flags.1?true selective:flags.2?true placeholder:flags.3?string = ReplyMarkup; @@ -1006,8 +1008,8 @@ folder#ff544e65 flags:# autofill_new_broadcasts:flags.0?true autofill_public_gro inputFolderPeer#fbd2c296 peer:InputPeer folder_id:int = InputFolderPeer; folderPeer#e9baa668 peer:Peer folder_id:int = FolderPeer; messages.searchCounter#e844ebff flags:# inexact:flags.1?true filter:MessagesFilter count:int = messages.SearchCounter; -urlAuthResultRequest#92d33a0e flags:# request_write_access:flags.0?true bot:User domain:string = UrlAuthResult; -urlAuthResultAccepted#8f8c0e4e url:string = UrlAuthResult; +urlAuthResultRequest#32fabf1a flags:# request_write_access:flags.0?true request_phone_number:flags.1?true bot:User domain:string browser:flags.2?string platform:flags.2?string ip:flags.2?string region:flags.2?string = UrlAuthResult; +urlAuthResultAccepted#623a8fa0 flags:# url:flags.0?string = UrlAuthResult; urlAuthResultDefault#a9d6db1f = UrlAuthResult; channelLocationEmpty#bfb5ad8b = ChannelLocation; channelLocation#209b82db geo_point:GeoPoint address:string = ChannelLocation; @@ -1532,9 +1534,11 @@ messages.emojiGameOutcome#da2ad647 seed:bytes stake_ton_amount:long ton_amount:l messages.emojiGameUnavailable#59e65335 = messages.EmojiGameInfo; messages.emojiGameDiceInfo#44e56023 flags:# game_hash:string prev_stake:long current_streak:int params:Vector plays_left:flags.0?int = messages.EmojiGameInfo; starGiftAttributeRarity#36437737 permille:int = StarGiftAttributeRarity; +starGiftAttributeRarityUncommon#dbce6389 = StarGiftAttributeRarity; starGiftAttributeRarityRare#f08d516b = StarGiftAttributeRarity; starGiftAttributeRarityEpic#78fbf3a8 = StarGiftAttributeRarity; starGiftAttributeRarityLegendary#cef7e7a8 = StarGiftAttributeRarity; +keyboardButtonStyle#4fdd3430 flags:# bg_primary:flags.0?true bg_danger:flags.1?true bg_success:flags.2?true icon:flags.3?long = KeyboardButtonStyle; ---functions--- invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X; initConnection#c1cd5ea9 {X:Type} flags:# api_id:int device_model:string system_version:string app_version:string system_lang_code:string lang_pack:string lang_code:string proxy:flags.0?InputClientProxy params:flags.1?JSONValue query:!X = X; @@ -1696,7 +1700,7 @@ messages.editChatAbout#def60797 peer:InputPeer about:string = Bool; messages.editChatDefaultBannedRights#a5866b41 peer:InputPeer banned_rights:ChatBannedRights = Updates; messages.getEmojiKeywordsDifference#1508b6af lang_code:string from_version:int = EmojiKeywordsDifference; messages.requestUrlAuth#198fb446 flags:# peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult; -messages.acceptUrlAuth#b12c7125 flags:# write_allowed:flags.0?true peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult; +messages.acceptUrlAuth#b12c7125 flags:# write_allowed:flags.0?true share_phone_number:flags.3?true peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult; messages.hidePeerSettingsBar#4facb138 peer:InputPeer = Bool; messages.getScheduledHistory#f516760b peer:InputPeer hash:long = messages.Messages; messages.sendScheduledMessages#bd38850a peer:InputPeer id:Vector = Updates; diff --git a/src/lib/gramjs/tl/static/api.tl b/src/lib/gramjs/tl/static/api.tl index 5046afc50..09da7381b 100644 --- a/src/lib/gramjs/tl/static/api.tl +++ b/src/lib/gramjs/tl/static/api.tl @@ -201,6 +201,8 @@ messageActionGiftTon#a8a3c699 flags:# currency:string amount:long crypto_currenc messageActionSuggestBirthday#2c8f2a25 birthday:Birthday = MessageAction; messageActionStarGiftPurchaseOffer#774278d4 flags:# accepted:flags.0?true declined:flags.1?true gift:StarGift price:StarsAmount expires_at:int = MessageAction; messageActionStarGiftPurchaseOfferDeclined#73ada76b flags:# expired:flags.0?true gift:StarGift price:StarsAmount = MessageAction; +messageActionNewCreatorPending#b07ed085 new_creator_id:long = MessageAction; +messageActionChangeCreator#e188503b new_creator_id:long = MessageAction; dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?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; @@ -678,24 +680,24 @@ botCommand#c27ac8c7 command:string description:string = BotCommand; botInfo#4d8a0299 flags:# has_preview_medias:flags.6?true user_id:flags.0?long description:flags.1?string description_photo:flags.4?Photo description_document:flags.5?Document commands:flags.2?Vector menu_button:flags.3?BotMenuButton privacy_policy_url:flags.7?string app_settings:flags.8?BotAppSettings verifier_settings:flags.9?BotVerifierSettings = BotInfo; -keyboardButton#a2fa4880 text:string = KeyboardButton; -keyboardButtonUrl#258aff05 text:string url:string = KeyboardButton; -keyboardButtonCallback#35bbdb6b flags:# requires_password:flags.0?true text:string data:bytes = KeyboardButton; -keyboardButtonRequestPhone#b16a6c29 text:string = KeyboardButton; -keyboardButtonRequestGeoLocation#fc796b3f text:string = KeyboardButton; -keyboardButtonSwitchInline#93b9fbb5 flags:# same_peer:flags.0?true text:string query:string peer_types:flags.1?Vector = KeyboardButton; -keyboardButtonGame#50f41ccf text:string = KeyboardButton; -keyboardButtonBuy#afd93fbb text:string = KeyboardButton; -keyboardButtonUrlAuth#10b78d29 flags:# text:string fwd_text:flags.0?string url:string button_id:int = KeyboardButton; -inputKeyboardButtonUrlAuth#d02e7fd4 flags:# request_write_access:flags.0?true text:string fwd_text:flags.1?string url:string bot:InputUser = KeyboardButton; -keyboardButtonRequestPoll#bbc7515d flags:# quiz:flags.0?Bool text:string = KeyboardButton; -inputKeyboardButtonUserProfile#e988037b text:string user_id:InputUser = KeyboardButton; -keyboardButtonUserProfile#308660c1 text:string user_id:long = KeyboardButton; -keyboardButtonWebView#13767230 text:string url:string = KeyboardButton; -keyboardButtonSimpleWebView#a0c0505c text:string url:string = KeyboardButton; -keyboardButtonRequestPeer#53d7bfd8 text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; -inputKeyboardButtonRequestPeer#c9662d05 flags:# name_requested:flags.0?true username_requested:flags.1?true photo_requested:flags.2?true text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; -keyboardButtonCopy#75d2698e text:string copy_text:string = KeyboardButton; +keyboardButton#7d170cff flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonUrl#d80c25ec flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; +keyboardButtonCallback#e62bc960 flags:# requires_password:flags.0?true style:flags.10?KeyboardButtonStyle text:string data:bytes = KeyboardButton; +keyboardButtonRequestPhone#417efd8f flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonRequestGeoLocation#aa40f94d flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonSwitchInline#991399fc flags:# same_peer:flags.0?true style:flags.10?KeyboardButtonStyle text:string query:string peer_types:flags.1?Vector = KeyboardButton; +keyboardButtonGame#89c590f9 flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonBuy#3fa53905 flags:# style:flags.10?KeyboardButtonStyle text:string = KeyboardButton; +keyboardButtonUrlAuth#f51006f9 flags:# style:flags.10?KeyboardButtonStyle text:string fwd_text:flags.0?string url:string button_id:int = KeyboardButton; +inputKeyboardButtonUrlAuth#68013e72 flags:# request_write_access:flags.0?true style:flags.10?KeyboardButtonStyle text:string fwd_text:flags.1?string url:string bot:InputUser = KeyboardButton; +keyboardButtonRequestPoll#7a11d782 flags:# style:flags.10?KeyboardButtonStyle quiz:flags.0?Bool text:string = KeyboardButton; +inputKeyboardButtonUserProfile#7d5e07c7 flags:# style:flags.10?KeyboardButtonStyle text:string user_id:InputUser = KeyboardButton; +keyboardButtonUserProfile#c0fd5d09 flags:# style:flags.10?KeyboardButtonStyle text:string user_id:long = KeyboardButton; +keyboardButtonWebView#e846b1a0 flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; +keyboardButtonSimpleWebView#e15c4370 flags:# style:flags.10?KeyboardButtonStyle text:string url:string = KeyboardButton; +keyboardButtonRequestPeer#5b0f15f5 flags:# style:flags.10?KeyboardButtonStyle text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; +inputKeyboardButtonRequestPeer#2b78156 flags:# name_requested:flags.0?true username_requested:flags.1?true photo_requested:flags.2?true style:flags.10?KeyboardButtonStyle text:string button_id:int peer_type:RequestPeerType max_quantity:int = KeyboardButton; +keyboardButtonCopy#bcc4af10 flags:# style:flags.10?KeyboardButtonStyle text:string copy_text:string = KeyboardButton; keyboardButtonRow#77608b83 buttons:Vector = KeyboardButtonRow; @@ -1262,8 +1264,8 @@ folderPeer#e9baa668 peer:Peer folder_id:int = FolderPeer; messages.searchCounter#e844ebff flags:# inexact:flags.1?true filter:MessagesFilter count:int = messages.SearchCounter; -urlAuthResultRequest#92d33a0e flags:# request_write_access:flags.0?true bot:User domain:string = UrlAuthResult; -urlAuthResultAccepted#8f8c0e4e url:string = UrlAuthResult; +urlAuthResultRequest#32fabf1a flags:# request_write_access:flags.0?true request_phone_number:flags.1?true bot:User domain:string browser:flags.2?string platform:flags.2?string ip:flags.2?string region:flags.2?string = UrlAuthResult; +urlAuthResultAccepted#623a8fa0 flags:# url:flags.0?string = UrlAuthResult; urlAuthResultDefault#a9d6db1f = UrlAuthResult; channelLocationEmpty#bfb5ad8b = ChannelLocation; @@ -2115,10 +2117,13 @@ messages.emojiGameUnavailable#59e65335 = messages.EmojiGameInfo; messages.emojiGameDiceInfo#44e56023 flags:# game_hash:string prev_stake:long current_streak:int params:Vector plays_left:flags.0?int = messages.EmojiGameInfo; starGiftAttributeRarity#36437737 permille:int = StarGiftAttributeRarity; +starGiftAttributeRarityUncommon#dbce6389 = StarGiftAttributeRarity; starGiftAttributeRarityRare#f08d516b = StarGiftAttributeRarity; starGiftAttributeRarityEpic#78fbf3a8 = StarGiftAttributeRarity; starGiftAttributeRarityLegendary#cef7e7a8 = StarGiftAttributeRarity; +keyboardButtonStyle#4fdd3430 flags:# bg_primary:flags.0?true bg_danger:flags.1?true bg_success:flags.2?true icon:flags.3?long = KeyboardButtonStyle; + ---functions--- invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X; @@ -2429,7 +2434,7 @@ messages.getEmojiKeywordsLanguages#4e9963b2 lang_codes:Vector = Vector = Vector; messages.requestUrlAuth#198fb446 flags:# peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult; -messages.acceptUrlAuth#b12c7125 flags:# write_allowed:flags.0?true peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult; +messages.acceptUrlAuth#b12c7125 flags:# write_allowed:flags.0?true share_phone_number:flags.3?true peer:flags.1?InputPeer msg_id:flags.1?int button_id:flags.1?int url:flags.2?string = UrlAuthResult; messages.hidePeerSettingsBar#4facb138 peer:InputPeer = Bool; messages.getScheduledHistory#f516760b peer:InputPeer hash:long = messages.Messages; messages.getScheduledMessages#bdbb0464 peer:InputPeer id:Vector = messages.Messages; diff --git a/src/types/language.d.ts b/src/types/language.d.ts index 7a51922b2..6d92d1430 100644 --- a/src/types/language.d.ts +++ b/src/types/language.d.ts @@ -1305,6 +1305,7 @@ export interface LangPair { 'GiftAttributeModel': undefined; 'GiftAttributeBackdrop': undefined; 'GiftAttributeSymbol': undefined; + 'GiftRarityUncommon': undefined; 'GiftRarityRare': undefined; 'GiftRarityEpic': undefined; 'GiftRarityLegendary': undefined; @@ -1932,6 +1933,7 @@ export interface LangPair { 'ChatListAuctionWinning': undefined; 'ChatListAuctionOutbid': undefined; 'ChatListAuctionView': undefined; + 'BotAuthSuccessTitle': undefined; } export interface LangPairWithVariables { @@ -3389,6 +3391,9 @@ export interface LangPairWithVariables { 'winCount': V; 'outbidCount': V; }; + 'BotAuthSuccessText': { + 'url': V; + }; } export interface LangPairPlural {