diff --git a/l071/README.md b/l071/README.md new file mode 100644 index 0000000..17c6f6f --- /dev/null +++ b/l071/README.md @@ -0,0 +1,38 @@ +### Version info +None, yet. + +### Notes +[First published by Unigram](https://github.com/UnigramDev/Unigram/commit/ee2863cbb6c677382f4c023f336b30b24ca313f9) + +This update introduces: +- Better mention system +- Getting info about contacts `saved` on sever +- Favorite stickers and supergroup sticker sets + +#### Better mention system +`dialog` and `updates.channelDifferenceTooLong` now have `unread_mentions_count`. It's number of messages having mention in them which were not marked as read explicitly. + +Speaking of that, messages with mentions now should be marked as read explicitly using `channels.readMessageContents` in channels. Typically it's called when mention is showed to user, and `updateChannelReadMessagesContents` is issued. + +New `MessageFilters` were added: `inputMessagesFilterMyMentions` and `inputMessagesFilterMyMentionsUnread` to find messages where user was mentioned. + +`messages.getUnreadMentions` is more efficient. It can be used to let user cycle through unread mentions. + +#### Saved Contacts +You can now get number of contacts stored on server side (but not yet registered in Telegram) -- `contacts.contacts` has `saved_count`. + +You can remove those contacts by calling `contacts.resetSaved`, which would cause `updateContactsReset` to be sent. It probably should force applications to re-sync contacts, so server saves only ones stored at user's address book currently. + +Probably because of that `contact.importContacts` now lacks `replace`. + +Also, `contacts.contacts` hash is now `int` and not `string`. However, that hash still can't be passed to server. + +#### Favorite stickers and group sets +User can now have up to `config->stickers_faved_limit` stickers "pinned" without saving their sticker pack. +The system is very similar to recents, but these should not be modified without user's will. + +Sticker is added to favorites with `messages.faveSticker`. Then `updateFavedStickers` is issued, and applications should use `messages.getFavedStickers` to get new list. + +Also, "channels" (supergroups only) now have `stickerset`. +It can be set if `can_set_stickers` is true. +`channels.setStickers` is used for that. Setting it adds `channelAdminLogEventActionChangeStickerSet` to "admin log" aka "recent actions". There seems to be no way to know about that change for user, except re-fetching `channel`. diff --git a/l071/schema.json b/l071/schema.json new file mode 100644 index 0000000..1f972a0 --- /dev/null +++ b/l071/schema.json @@ -0,0 +1,614 @@ +{ + "constructors": [ + { + "id": "-455150117", + "predicate": "dialog", + "params": [ + { + "name": "flags", + "type": "#" + }, + { + "name": "pinned", + "type": "flags.2?true" + }, + { + "name": "peer", + "type": "Peer" + }, + { + "name": "top_message", + "type": "int" + }, + { + "name": "read_inbox_max_id", + "type": "int" + }, + { + "name": "read_outbox_max_id", + "type": "int" + }, + { + "name": "unread_count", + "type": "int" + }, + { + "name": "unread_mentions_count", + "type": "int" + }, + { + "name": "notify_settings", + "type": "PeerNotifySettings" + }, + { + "name": "pts", + "type": "flags.0?int" + }, + { + "name": "draft", + "type": "flags.1?DraftMessage" + } + ], + "type": "Dialog" + }, + { + "id": "-353862078", + "predicate": "contacts.contacts", + "params": [ + { + "name": "contacts", + "type": "Vector" + }, + { + "name": "saved_count", + "type": "int" + }, + { + "name": "users", + "type": "Vector" + } + ], + "type": "contacts.Contacts" + }, + { + "id": "-1913424220", + "predicate": "config", + "params": [ + { + "name": "flags", + "type": "#" + }, + { + "name": "phonecalls_enabled", + "type": "flags.1?true" + }, + { + "name": "date", + "type": "int" + }, + { + "name": "expires", + "type": "int" + }, + { + "name": "test_mode", + "type": "Bool" + }, + { + "name": "this_dc", + "type": "int" + }, + { + "name": "dc_options", + "type": "Vector" + }, + { + "name": "chat_size_max", + "type": "int" + }, + { + "name": "megagroup_size_max", + "type": "int" + }, + { + "name": "forwarded_count_max", + "type": "int" + }, + { + "name": "online_update_period_ms", + "type": "int" + }, + { + "name": "offline_blur_timeout_ms", + "type": "int" + }, + { + "name": "offline_idle_timeout_ms", + "type": "int" + }, + { + "name": "online_cloud_timeout_ms", + "type": "int" + }, + { + "name": "notify_cloud_delay_ms", + "type": "int" + }, + { + "name": "notify_default_delay_ms", + "type": "int" + }, + { + "name": "chat_big_size", + "type": "int" + }, + { + "name": "push_chat_period_ms", + "type": "int" + }, + { + "name": "push_chat_limit", + "type": "int" + }, + { + "name": "saved_gifs_limit", + "type": "int" + }, + { + "name": "edit_time_limit", + "type": "int" + }, + { + "name": "rating_e_decay", + "type": "int" + }, + { + "name": "stickers_recent_limit", + "type": "int" + }, + { + "name": "stickers_faved_limit", + "type": "int" + }, + { + "name": "tmp_sessions", + "type": "flags.0?int" + }, + { + "name": "pinned_dialogs_count_max", + "type": "int" + }, + { + "name": "call_receive_timeout_ms", + "type": "int" + }, + { + "name": "call_ring_timeout_ms", + "type": "int" + }, + { + "name": "call_connect_timeout_ms", + "type": "int" + }, + { + "name": "call_packet_timeout_ms", + "type": "int" + }, + { + "name": "me_url_prefix", + "type": "string" + }, + { + "name": "suggested_lang_code", + "type": "flags.2?string" + }, + { + "name": "lang_pack_version", + "type": "flags.2?int" + }, + { + "name": "disabled_features", + "type": "Vector" + } + ], + "type": "Config" + }, + { + "id": "401891279", + "predicate": "channelFull", + "params": [ + { + "name": "flags", + "type": "#" + }, + { + "name": "can_view_participants", + "type": "flags.3?true" + }, + { + "name": "can_set_username", + "type": "flags.6?true" + }, + { + "name": "can_set_stickers", + "type": "flags.7?true" + }, + { + "name": "id", + "type": "int" + }, + { + "name": "about", + "type": "string" + }, + { + "name": "participants_count", + "type": "flags.0?int" + }, + { + "name": "admins_count", + "type": "flags.1?int" + }, + { + "name": "kicked_count", + "type": "flags.2?int" + }, + { + "name": "banned_count", + "type": "flags.2?int" + }, + { + "name": "read_inbox_max_id", + "type": "int" + }, + { + "name": "read_outbox_max_id", + "type": "int" + }, + { + "name": "unread_count", + "type": "int" + }, + { + "name": "chat_photo", + "type": "Photo" + }, + { + "name": "notify_settings", + "type": "PeerNotifySettings" + }, + { + "name": "exported_invite", + "type": "ExportedChatInvite" + }, + { + "name": "bot_info", + "type": "Vector" + }, + { + "name": "migrated_from_chat_id", + "type": "flags.4?int" + }, + { + "name": "migrated_from_max_id", + "type": "flags.4?int" + }, + { + "name": "pinned_msg_id", + "type": "flags.5?int" + }, + { + "name": "stickerset", + "type": "flags.8?StickerSet" + } + ], + "type": "ChatFull" + }, + { + "id": "1788705589", + "predicate": "updates.channelDifferenceTooLong", + "params": [ + { + "name": "flags", + "type": "#" + }, + { + "name": "final", + "type": "flags.0?true" + }, + { + "name": "pts", + "type": "int" + }, + { + "name": "timeout", + "type": "flags.1?int" + }, + { + "name": "top_message", + "type": "int" + }, + { + "name": "read_inbox_max_id", + "type": "int" + }, + { + "name": "read_outbox_max_id", + "type": "int" + }, + { + "name": "unread_count", + "type": "int" + }, + { + "name": "unread_mentions_count", + "type": "int" + }, + { + "name": "messages", + "type": "Vector" + }, + { + "name": "chats", + "type": "Vector" + }, + { + "name": "users", + "type": "Vector" + } + ], + "type": "updates.ChannelDifference" + }, + { + "id": "-1040652646", + "predicate": "inputMessagesFilterMyMentions", + "params": [], + "type": "MessagesFilter" + }, + { + "id": "1187706024", + "predicate": "inputMessagesFilterMyMentionsUnread", + "params": [], + "type": "MessagesFilter" + }, + { + "id": "1887741886", + "predicate": "updateContactsReset", + "params": [], + "type": "Update" + }, + { + "id": "-1312568665", + "predicate": "channelAdminLogEventActionChangeStickerSet", + "params": [ + { + "name": "prev_stickerset", + "type": "InputStickerSet" + }, + { + "name": "new_stickerset", + "type": "InputStickerSet" + } + ], + "type": "ChannelAdminLogEventAction" + }, + { + "id": "-451831443", + "predicate": "updateFavedStickers", + "params": [], + "type": "Update" + }, + { + "id": "-209768682", + "predicate": "messages.favedStickers", + "params": [ + { + "name": "hash", + "type": "int" + }, + { + "name": "packs", + "type": "Vector" + }, + { + "name": "stickers", + "type": "Vector" + } + ], + "type": "messages.FavedStickers" + }, + { + "id": "-1634752813", + "predicate": "messages.favedStickersNotModified", + "params": [], + "type": "messages.FavedStickers" + }, + { + "id": "-1987495099", + "predicate": "updateChannelReadMessagesContents", + "params": [ + { + "name": "channel_id", + "type": "int" + }, + { + "name": "messages", + "type": "Vector" + } + ], + "type": "Update" + } + ], + "methods": [ + { + "id": "-1071414113", + "method": "contacts.getContacts", + "params": [ + { + "name": "hash", + "type": "int" + } + ], + "type": "contacts.Contacts" + }, + { + "id": "746589157", + "method": "contacts.importContacts", + "params": [ + { + "name": "contacts", + "type": "Vector" + } + ], + "type": "contacts.ImportedContacts" + }, + { + "id": "60726944", + "method": "messages.search", + "params": [ + { + "name": "flags", + "type": "#" + }, + { + "name": "peer", + "type": "InputPeer" + }, + { + "name": "q", + "type": "string" + }, + { + "name": "from_id", + "type": "flags.0?InputUser" + }, + { + "name": "filter", + "type": "MessagesFilter" + }, + { + "name": "min_date", + "type": "int" + }, + { + "name": "max_date", + "type": "int" + }, + { + "name": "offset_id", + "type": "int" + }, + { + "name": "add_offset", + "type": "int" + }, + { + "name": "limit", + "type": "int" + }, + { + "name": "max_id", + "type": "int" + }, + { + "name": "min_id", + "type": "int" + } + ], + "type": "messages.Messages" + }, + { + "id": "1180140658", + "method": "messages.getUnreadMentions", + "params": [ + { + "name": "peer", + "type": "InputPeer" + }, + { + "name": "offset_id", + "type": "int" + }, + { + "name": "add_offset", + "type": "int" + }, + { + "name": "limit", + "type": "int" + }, + { + "name": "max_id", + "type": "int" + }, + { + "name": "min_id", + "type": "int" + } + ], + "type": "messages.Messages" + }, + { + "id": "-1174420133", + "method": "messages.faveSticker", + "params": [ + { + "name": "id", + "type": "InputDocument" + }, + { + "name": "unfave", + "type": "Bool" + } + ], + "type": "Bool" + }, + { + "id": "-359881479", + "method": "channels.setStickers", + "params": [ + { + "name": "channel", + "type": "InputChannel" + }, + { + "name": "stickerset", + "type": "InputStickerSet" + } + ], + "type": "Bool" + }, + { + "id": "-2020263951", + "method": "contacts.resetSaved", + "params": [], + "type": "Bool" + }, + { + "id": "567151374", + "method": "messages.getFavedStickers", + "params": [ + { + "name": "hash", + "type": "int" + } + ], + "type": "messages.FavedStickers" + }, + { + "id": "-357180360", + "method": "channels.readMessageContents", + "params": [ + { + "name": "channel", + "type": "InputChannel" + }, + { + "name": "id", + "type": "Vector" + } + ], + "type": "Bool" + } + ] +} \ No newline at end of file diff --git a/l071/schema.tl b/l071/schema.tl new file mode 100644 index 0000000..bcfb980 --- /dev/null +++ b/l071/schema.tl @@ -0,0 +1,32 @@ +---types--- +// dialog#66ffba14 flags:# pinned:flags.2?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage = Dialog; +dialog#e4def5db flags:# pinned:flags.2?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage = Dialog; +// contacts.contacts#6f8b8cb2 contacts:Vector users:Vector = contacts.Contacts; +contacts.contacts#eae87e42 contacts:Vector saved_count:int users:Vector = contacts.Contacts; +// config#7feec888 flags:# phonecalls_enabled:flags.1?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int chat_big_size:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int rating_e_decay:int stickers_recent_limit:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string suggested_lang_code:flags.2?string lang_pack_version:flags.2?int disabled_features:Vector = Config; +config#8df376a4 flags:# phonecalls_enabled:flags.1?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int chat_big_size:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string suggested_lang_code:flags.2?string lang_pack_version:flags.2?int disabled_features:Vector = Config; +// channelFull#95cb5f57 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int = ChatFull; +channelFull#17f45fcf flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet = ChatFull; +// updates.channelDifferenceTooLong#410dee07 flags:# final:flags.0?true pts:int timeout:flags.1?int top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int messages:Vector chats:Vector users:Vector = updates.ChannelDifference; +updates.channelDifferenceTooLong#6a9d7b35 flags:# final:flags.0?true pts:int timeout:flags.1?int top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int messages:Vector chats:Vector users:Vector = updates.ChannelDifference; +inputMessagesFilterMyMentions#c1f8e69a = MessagesFilter; +inputMessagesFilterMyMentionsUnread#46caf4a8 = MessagesFilter; +updateContactsReset#7084a7be = Update; +channelAdminLogEventActionChangeStickerSet#b1c3caa7 prev_stickerset:InputStickerSet new_stickerset:InputStickerSet = ChannelAdminLogEventAction; +updateFavedStickers#e511996d = Update; +messages.favedStickers#f37f2f16 hash:int packs:Vector stickers:Vector = messages.FavedStickers; +messages.favedStickersNotModified#9e8fa6d3 = messages.FavedStickers; +updateChannelReadMessagesContents#89893b45 channel_id:int messages:Vector = Update; +---functions--- +// contacts.getContacts#22c6aa08 hash:string = contacts.Contacts; +contacts.getContacts#c023849f hash:int = contacts.Contacts; +// contacts.importContacts#da30b32d contacts:Vector replace:Bool = contacts.ImportedContacts; +contacts.importContacts#2c800be5 contacts:Vector = contacts.ImportedContacts; +// messages.search#f288a275 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset:int max_id:int limit:int = messages.Messages; +messages.search#39e9ea0 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; +messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; +messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool; +channels.setStickers#ea8ca4f9 channel:InputChannel stickerset:InputStickerSet = Bool; +contacts.resetSaved#879537f1 = Bool; +messages.getFavedStickers#21ce0b0e hash:int = messages.FavedStickers; +channels.readMessageContents#eab5dc38 channel:InputChannel id:Vector = Bool; diff --git a/schema.json b/schema.json index 89dc88d..1a92296 100644 --- a/schema.json +++ b/schema.json @@ -986,7 +986,7 @@ "type": "MessageAction" }, { - "id": "1728035348", + "id": "-455150117", "predicate": "dialog", "params": [ { @@ -1017,6 +1017,10 @@ "name": "unread_count", "type": "int" }, + { + "name": "unread_mentions_count", + "type": "int" + }, { "name": "notify_settings", "type": "PeerNotifySettings" @@ -1491,13 +1495,17 @@ "type": "contacts.Link" }, { - "id": "1871416498", + "id": "-353862078", "predicate": "contacts.contacts", "params": [ { "name": "contacts", "type": "Vector" }, + { + "name": "saved_count", + "type": "int" + }, { "name": "users", "type": "Vector" @@ -2344,7 +2352,7 @@ "type": "DcOption" }, { - "id": "2146355336", + "id": "-1913424220", "predicate": "config", "params": [ { @@ -2439,6 +2447,10 @@ "name": "stickers_recent_limit", "type": "int" }, + { + "name": "stickers_faved_limit", + "type": "int" + }, { "name": "tmp_sessions", "type": "flags.0?int" @@ -5124,7 +5136,7 @@ "type": "Chat" }, { - "id": "-1781833897", + "id": "401891279", "predicate": "channelFull", "params": [ { @@ -5139,6 +5151,10 @@ "name": "can_set_username", "type": "flags.6?true" }, + { + "name": "can_set_stickers", + "type": "flags.7?true" + }, { "name": "id", "type": "int" @@ -5202,6 +5218,10 @@ { "name": "pinned_msg_id", "type": "flags.5?int" + }, + { + "name": "stickerset", + "type": "flags.8?StickerSet" } ], "type": "ChatFull" @@ -5433,7 +5453,7 @@ "type": "updates.ChannelDifference" }, { - "id": "1091431943", + "id": "1788705589", "predicate": "updates.channelDifferenceTooLong", "params": [ { @@ -5468,6 +5488,10 @@ "name": "unread_count", "type": "int" }, + { + "name": "unread_mentions_count", + "type": "int" + }, { "name": "messages", "type": "Vector" @@ -10060,6 +10084,85 @@ } ], "type": "CdnFileHash" + }, + { + "id": "-1040652646", + "predicate": "inputMessagesFilterMyMentions", + "params": [], + "type": "MessagesFilter" + }, + { + "id": "1187706024", + "predicate": "inputMessagesFilterMyMentionsUnread", + "params": [], + "type": "MessagesFilter" + }, + { + "id": "1887741886", + "predicate": "updateContactsReset", + "params": [], + "type": "Update" + }, + { + "id": "-1312568665", + "predicate": "channelAdminLogEventActionChangeStickerSet", + "params": [ + { + "name": "prev_stickerset", + "type": "InputStickerSet" + }, + { + "name": "new_stickerset", + "type": "InputStickerSet" + } + ], + "type": "ChannelAdminLogEventAction" + }, + { + "id": "-451831443", + "predicate": "updateFavedStickers", + "params": [], + "type": "Update" + }, + { + "id": "-209768682", + "predicate": "messages.favedStickers", + "params": [ + { + "name": "hash", + "type": "int" + }, + { + "name": "packs", + "type": "Vector" + }, + { + "name": "stickers", + "type": "Vector" + } + ], + "type": "messages.FavedStickers" + }, + { + "id": "-1634752813", + "predicate": "messages.favedStickersNotModified", + "params": [], + "type": "messages.FavedStickers" + }, + { + "id": "-1987495099", + "predicate": "updateChannelReadMessagesContents", + "params": [ + { + "name": "channel_id", + "type": "int" + }, + { + "name": "messages", + "type": "Vector" + } + ], + "type": "Update" } ], "methods": [ @@ -10365,27 +10468,23 @@ "type": "Vector" }, { - "id": "583445000", + "id": "-1071414113", "method": "contacts.getContacts", "params": [ { "name": "hash", - "type": "string" + "type": "int" } ], "type": "contacts.Contacts" }, { - "id": "-634342611", + "id": "746589157", "method": "contacts.importContacts", "params": [ { "name": "contacts", "type": "Vector" - }, - { - "name": "replace", - "type": "Bool" } ], "type": "contacts.ImportedContacts" @@ -10542,7 +10641,7 @@ "type": "messages.Messages" }, { - "id": "-225926539", + "id": "60726944", "method": "messages.search", "params": [ { @@ -10574,7 +10673,15 @@ "type": "int" }, { - "name": "offset", + "name": "offset_id", + "type": "int" + }, + { + "name": "add_offset", + "type": "int" + }, + { + "name": "limit", "type": "int" }, { @@ -10582,7 +10689,7 @@ "type": "int" }, { - "name": "limit", + "name": "min_id", "type": "int" } ], @@ -13798,6 +13905,99 @@ } ], "type": "Vector" + }, + { + "id": "1180140658", + "method": "messages.getUnreadMentions", + "params": [ + { + "name": "peer", + "type": "InputPeer" + }, + { + "name": "offset_id", + "type": "int" + }, + { + "name": "add_offset", + "type": "int" + }, + { + "name": "limit", + "type": "int" + }, + { + "name": "max_id", + "type": "int" + }, + { + "name": "min_id", + "type": "int" + } + ], + "type": "messages.Messages" + }, + { + "id": "-1174420133", + "method": "messages.faveSticker", + "params": [ + { + "name": "id", + "type": "InputDocument" + }, + { + "name": "unfave", + "type": "Bool" + } + ], + "type": "Bool" + }, + { + "id": "-359881479", + "method": "channels.setStickers", + "params": [ + { + "name": "channel", + "type": "InputChannel" + }, + { + "name": "stickerset", + "type": "InputStickerSet" + } + ], + "type": "Bool" + }, + { + "id": "-2020263951", + "method": "contacts.resetSaved", + "params": [], + "type": "Bool" + }, + { + "id": "567151374", + "method": "messages.getFavedStickers", + "params": [ + { + "name": "hash", + "type": "int" + } + ], + "type": "messages.FavedStickers" + }, + { + "id": "-357180360", + "method": "channels.readMessageContents", + "params": [ + { + "name": "channel", + "type": "InputChannel" + }, + { + "name": "id", + "type": "Vector" + } + ], + "type": "Bool" } ] } \ No newline at end of file diff --git a/schema.tl b/schema.tl index 1c90e68..900f57a 100644 --- a/schema.tl +++ b/schema.tl @@ -67,7 +67,7 @@ messageActionChatEditPhoto#7fcb13a8 photo:Photo = MessageAction; messageActionChatDeletePhoto#95e3fbef = MessageAction; messageActionChatAddUser#488a7337 users:Vector = MessageAction; messageActionChatDeleteUser#b2ae9b0c user_id:int = MessageAction; -dialog#66ffba14 flags:# pinned:flags.2?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage = Dialog; +dialog#e4def5db flags:# pinned:flags.2?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage = Dialog; photoEmpty#2331b22d id:long = Photo; photo#9288dd29 flags:# has_stickers:flags.0?true id:long access_hash:long date:int sizes:Vector = Photo; photoSizeEmpty#e17e23c type:string = PhotoSize; @@ -95,7 +95,7 @@ importedContact#d0028438 user_id:int client_id:long = ImportedContact; contactBlocked#561bc879 user_id:int date:int = ContactBlocked; contactStatus#d3680c61 user_id:int status:UserStatus = ContactStatus; contacts.link#3ace484c my_link:ContactLink foreign_link:ContactLink user:User = contacts.Link; -contacts.contacts#6f8b8cb2 contacts:Vector users:Vector = contacts.Contacts; +contacts.contacts#eae87e42 contacts:Vector saved_count:int users:Vector = contacts.Contacts; contacts.contactsNotModified#b74ba9d2 = contacts.Contacts; contacts.importedContacts#77d01c3b imported:Vector popular_invites:Vector retry_contacts:Vector users:Vector = contacts.ImportedContacts; contacts.blocked#1c138d15 blocked:Vector users:Vector = contacts.Blocked; @@ -136,7 +136,7 @@ updates#74ae4240 updates:Vector users:Vector chats:Vector da photos.photo#20212ca8 photo:Photo users:Vector = photos.Photo; upload.file#96a18d5 type:storage.FileType mtime:int bytes:bytes = upload.File; dcOption#5d8c6cc flags:# ipv6:flags.0?true media_only:flags.1?true tcpo_only:flags.2?true cdn:flags.3?true static:flags.4?true id:int ip_address:string port:int = DcOption; -config#7feec888 flags:# phonecalls_enabled:flags.1?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int chat_big_size:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int rating_e_decay:int stickers_recent_limit:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string suggested_lang_code:flags.2?string lang_pack_version:flags.2?int disabled_features:Vector = Config; +config#8df376a4 flags:# phonecalls_enabled:flags.1?true date:int expires:int test_mode:Bool this_dc:int dc_options:Vector chat_size_max:int megagroup_size_max:int forwarded_count_max:int online_update_period_ms:int offline_blur_timeout_ms:int offline_idle_timeout_ms:int online_cloud_timeout_ms:int notify_cloud_delay_ms:int notify_default_delay_ms:int chat_big_size:int push_chat_period_ms:int push_chat_limit:int saved_gifs_limit:int edit_time_limit:int rating_e_decay:int stickers_recent_limit:int stickers_faved_limit:int tmp_sessions:flags.0?int pinned_dialogs_count_max:int call_receive_timeout_ms:int call_ring_timeout_ms:int call_connect_timeout_ms:int call_packet_timeout_ms:int me_url_prefix:string suggested_lang_code:flags.2?string lang_pack_version:flags.2?int disabled_features:Vector = Config; nearestDc#8e1a1775 country:string this_dc:int nearest_dc:int = NearestDc; help.appUpdate#8987f311 id:int critical:Bool url:string text:string = help.AppUpdate; help.noAppUpdate#c45a6536 = help.AppUpdate; @@ -295,7 +295,7 @@ inputPeerChannel#20adaef8 channel_id:int access_hash:long = InputPeer; peerChannel#bddde532 channel_id:int = Peer; channel#cb44b1c flags:# creator:flags.0?true left:flags.2?true editor:flags.3?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true democracy:flags.10?true signatures:flags.11?true min:flags.12?true id:int access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int version:int restriction_reason:flags.9?string admin_rights:flags.14?ChannelAdminRights banned_rights:flags.15?ChannelBannedRights = Chat; channelForbidden#289da732 flags:# broadcast:flags.5?true megagroup:flags.8?true id:int access_hash:long title:string until_date:flags.16?int = Chat; -channelFull#95cb5f57 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int = ChatFull; +channelFull#17f45fcf flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet = ChatFull; messageActionChannelCreate#95d2ac92 title:string = MessageAction; messages.channelMessages#99262e37 flags:# pts:int count:int messages:Vector chats:Vector users:Vector = messages.Messages; updateChannelTooLong#eb0467fb flags:# channel_id:int pts:flags.0?int = Update; @@ -309,7 +309,7 @@ inputChannel#afeb712e channel_id:int access_hash:long = InputChannel; contacts.resolvedPeer#7f077ad9 peer:Peer chats:Vector users:Vector = contacts.ResolvedPeer; messageRange#ae30253 min_id:int max_id:int = MessageRange; updates.channelDifferenceEmpty#3e11affb flags:# final:flags.0?true pts:int timeout:flags.1?int = updates.ChannelDifference; -updates.channelDifferenceTooLong#410dee07 flags:# final:flags.0?true pts:int timeout:flags.1?int top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int messages:Vector chats:Vector users:Vector = updates.ChannelDifference; +updates.channelDifferenceTooLong#6a9d7b35 flags:# final:flags.0?true pts:int timeout:flags.1?int top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int messages:Vector chats:Vector users:Vector = updates.ChannelDifference; updates.channelDifference#2064674e flags:# final:flags.0?true pts:int timeout:flags.1?int new_messages:Vector other_updates:Vector chats:Vector users:Vector = updates.ChannelDifference; channelMessagesFilterEmpty#94d42ee7 = ChannelMessagesFilter; channelMessagesFilter#cd77d957 flags:# exclude_new_messages:flags.1?true ranges:Vector = ChannelMessagesFilter; @@ -576,6 +576,14 @@ channelAdminLogEventsFilter#ea107ae4 flags:# join:flags.0?true leave:flags.1?tru messageActionScreenshotTaken#4792929b = MessageAction; popularContact#5ce14175 client_id:long importers:int = PopularContact; cdnFileHash#77eec38f offset:int limit:int hash:bytes = CdnFileHash; +inputMessagesFilterMyMentions#c1f8e69a = MessagesFilter; +inputMessagesFilterMyMentionsUnread#46caf4a8 = MessagesFilter; +updateContactsReset#7084a7be = Update; +channelAdminLogEventActionChangeStickerSet#b1c3caa7 prev_stickerset:InputStickerSet new_stickerset:InputStickerSet = ChannelAdminLogEventAction; +updateFavedStickers#e511996d = Update; +messages.favedStickers#f37f2f16 hash:int packs:Vector stickers:Vector = messages.FavedStickers; +messages.favedStickersNotModified#9e8fa6d3 = messages.FavedStickers; +updateChannelReadMessagesContents#89893b45 channel_id:int messages:Vector = Update; ---functions--- invokeAfterMsg#cb9f372d msg_id:long query:!X = X; invokeAfterMsgs#3dc4b4f0 msg_ids:Vector query:!X = X; @@ -599,8 +607,8 @@ account.getWallPapers#c04cfac2 = Vector; users.getUsers#d91a548 id:Vector = Vector; users.getFullUser#ca30a5b1 id:InputUser = UserFull; contacts.getStatuses#c4a353ee = Vector; -contacts.getContacts#22c6aa08 hash:string = contacts.Contacts; -contacts.importContacts#da30b32d contacts:Vector replace:Bool = contacts.ImportedContacts; +contacts.getContacts#c023849f hash:int = contacts.Contacts; +contacts.importContacts#2c800be5 contacts:Vector = contacts.ImportedContacts; contacts.search#11f812d8 q:string limit:int = contacts.Found; contacts.deleteContact#8e953744 id:InputUser = contacts.Link; contacts.deleteContacts#59ab389e id:Vector = Bool; @@ -610,7 +618,7 @@ contacts.getBlocked#f57c350f offset:int limit:int = contacts.Blocked; messages.getMessages#4222fa74 id:Vector = messages.Messages; messages.getDialogs#191ba9c5 flags:# exclude_pinned:flags.0?true offset_date:int offset_id:int offset_peer:InputPeer limit:int = messages.Dialogs; messages.getHistory#afa92846 peer:InputPeer offset_id:int offset_date:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; -messages.search#f288a275 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset:int max_id:int limit:int = messages.Messages; +messages.search#39e9ea0 flags:# peer:InputPeer q:string from_id:flags.0?InputUser filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; messages.readHistory#e306d3a peer:InputPeer max_id:int = messages.AffectedMessages; messages.deleteHistory#1c015b09 flags:# just_clear:flags.0?true peer:InputPeer max_id:int = messages.AffectedHistory; messages.deleteMessages#e58e95d2 flags:# revoke:flags.0?true id:Vector = messages.AffectedMessages; @@ -805,3 +813,9 @@ stickers.changeStickerPosition#ffb6d4ca sticker:InputDocument position:int = mes stickers.addStickerToSet#8653febe stickerset:InputStickerSet sticker:InputStickerSetItem = messages.StickerSet; messages.sendScreenshotNotification#c97df020 peer:InputPeer reply_to_msg_id:int random_id:long = Updates; upload.getCdnFileHashes#f715c87b file_token:bytes offset:int = Vector; +messages.getUnreadMentions#46578472 peer:InputPeer offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; +messages.faveSticker#b9ffc55b id:InputDocument unfave:Bool = Bool; +channels.setStickers#ea8ca4f9 channel:InputChannel stickerset:InputStickerSet = Bool; +contacts.resetSaved#879537f1 = Bool; +messages.getFavedStickers#21ce0b0e hash:int = messages.FavedStickers; +channels.readMessageContents#eab5dc38 channel:InputChannel id:Vector = Bool;