Commit Graph

573 Commits

Author SHA1 Message Date
levlam
3c863517ba Return messageAnimatedEmoji for single custom emoji. 2022-08-05 17:58:16 +03:00
levlam
feafa4aacc Add chat_id to getStickers. 2022-08-05 14:06:06 +03:00
levlam
779090f4dd Add more WaitFree* classes usages. 2022-08-04 14:48:10 +03:00
levlam
bb5d8c0c8d Use WaitFreeHashMap in StickersManager. 2022-08-03 22:42:52 +03:00
levlam
ad72974e70 Simplify implementation of merge_* for documents. 2022-08-03 21:58:07 +03:00
levlam
33623f9818 Remove unused can_delete_old parameter. 2022-08-03 21:38:03 +03:00
levlam
0f77d5c871 Use request promise in td_api::searchStickers. 2022-08-01 18:50:08 +03:00
levlam
d4135d59f6 Return trending custom emoji in getStickers. 2022-08-01 16:56:21 +03:00
levlam
044aabf329 Fix short_name_to_sticker_set_id_ usages. 2022-07-31 03:17:43 +03:00
levlam
e8b2971a42 Add more checks for HashTable keys. 2022-07-31 01:15:23 +03:00
levlam
c55baf4c61 Ignore empty custom emoji documents. 2022-07-28 12:56:53 +03:00
levlam
36c6b84ec8 Add remove_premium_custom_emoji_entities. 2022-07-27 23:36:44 +03:00
levlam
99b39069a4 Document limit on the number of identifiers allowed in getCustomEmojiStickers. 2022-07-26 20:05:48 +03:00
levlam
7cdf1a05bb Update custom emoji once a day. 2022-07-26 19:29:37 +03:00
levlam
59a27e3b15 Get from the server only unknown custom emoji. 2022-07-26 18:48:18 +03:00
levlam
e96a1995a2 Load custom emoji from database, 2022-07-25 23:04:53 +03:00
levlam
f20f015caa Save custom emoji to database. 2022-07-25 21:18:43 +03:00
levlam
4e9c7ffbf2 Return custom emoji from in-memory cache if possible. 2022-07-24 19:54:15 +03:00
levlam
8183e062ab Handle installed sticker sets of incorrect type in the database. 2022-07-24 15:03:54 +03:00
levlam
40b5b586e6 Add sticker_type to getStickers. 2022-07-24 14:53:48 +03:00
levlam
99ae4ada88 Access arrays with pre-casted sticker type. 2022-07-24 14:01:58 +03:00
levlam
f26a33b3d3 Implement StickersManager::is_premium_custom_emoji. 2022-07-22 19:06:39 +03:00
levlam
d361d6e8a1 Add StickersManager::get_custom_emoji_id. 2022-07-22 18:27:12 +03:00
levlam
97ab564e07 Prepare for removing premium custom emoji if have no premium. 2022-07-22 18:11:55 +03:00
levlam
813867eb66 Improve special sticker set loading. 2022-07-22 15:40:24 +03:00
levlam
a81740892d Add messageGiftedPremium.sticker. 2022-07-22 15:01:44 +03:00
levlam
61fe5d0df5 Register GiftPremium messages. 2022-07-22 13:30:24 +03:00
levlam
b5468e4cac Move out StickerType from inputSticker. 2022-07-21 17:31:27 +03:00
levlam
342bf8c41f Preload sticker set before adding a sticker to it. 2022-07-21 16:06:58 +03:00
levlam
310c4d1b6a Always try to fetch mask_position. 2022-07-21 15:54:43 +03:00
levlam
7d94cc9aa8 Remove some unneeded logging. 2022-07-20 18:01:26 +03:00
levlam
771b6d3991 Add td_api::getCustomEmojiStickers. 2022-07-19 16:00:04 +03:00
levlam
ba3f24ed8d Rename stickerTypeEmoji to stickerTypeCustomEmoji. 2022-07-19 14:51:29 +03:00
levlam
219d5ecf87 Add sticker.custom_emoji_id. 2022-07-19 14:45:37 +03:00
levlam
585191bb6f Process stickerSetFullCovered. 2022-07-18 21:44:44 +03:00
levlam
fd6684ab9d Disallow sending, adding to favorite and recent for emoji stickers. 2022-07-18 14:51:37 +03:00
levlam
7cd65d06a1 Support emoji stickers in get_max_sticker_file_size. 2022-07-17 23:49:46 +03:00
levlam
4442293acf Support trending emoji sticker sets. 2022-07-17 22:39:22 +03:00
levlam
32c7bd8bcd Support thumbnail_document_id. 2022-07-16 17:22:30 +03:00
levlam
d506c4732a Add getPremiumGiftOptionSticker. 2022-07-15 16:15:59 +03:00
levlam
d3b9b3b7c4 Support premium gifts special sticker set. 2022-07-15 15:24:08 +03:00
levlam
3bfb3cdbb1 Add explicit flag sticker.is_premium. 2022-07-15 13:37:46 +03:00
levlam
ea8f81187e Support documentAttributeCustomEmoji. 2022-07-14 17:11:36 +03:00
levlam
5bdc4e207b Add stickerTypeEmoji. 2022-07-14 16:42:27 +03:00
levlam
c34f5d063b Use StickerType instead of is_masks everywhere. 2022-07-14 16:17:19 +03:00
levlam
b447c32fe9 Add class StickerType. 2022-07-14 15:02:55 +03:00
levlam
a896edcd14 Move mask_position out of stickerTypeMask. 2022-07-14 14:38:25 +03:00
levlam
7d5dc9fd16 Split sticker format and sticker type in API. 2022-07-14 13:58:33 +03:00
levlam
e38615b71e Update layer to 144. 2022-07-01 14:33:59 +03:00
levlam
4cf1e02479 Add multiarg version of Scheduler::destroy_on_scheduler. 2022-07-22 21:21:30 +03:00
levlam
0f87447ffc Asynchronously destroy some big data storages. 2022-07-20 13:40:14 +03:00
levlam
bedec2c9ba Add StickersManager::get_sticker_set_thumbnail_object. 2022-07-16 15:45:30 +03:00
levlam
7618c9aa64 Add get_sticker_type function. 2022-07-13 23:02:46 +03:00
levlam
d489014350 Compare stickers and animation by their remote ID when remove them from recent/saved. 2022-07-03 12:17:04 +03:00
levlam
2f17f55305 Don't dup stickers in a set. 2022-07-03 11:53:01 +03:00
levlam
32bac7bd24 Move Promise to tdutils. 2022-06-27 13:30:18 +03:00
levlam
375d3d23fb Fix handling of stickerSetNotModified. 2022-06-21 17:34:24 +03:00
levlam
86c130a462 Minor fixes. 2022-06-21 02:55:53 +03:00
levlam
b6019f25e4 Improve sticker order for trending sticker sets. 2022-06-18 11:16:32 +03:00
levlam
f1247493c5 Add class trendingStickerSets. 2022-06-17 19:16:17 +03:00
levlam
dc8903fc71 Allow to get stcikerSetInfo with preferred premium stickers. 2022-06-17 08:59:54 +03:00
levlam
762b1577e9 Add StickersManager::split_stickers_by_premium. 2022-06-16 21:12:20 +03:00
levlam
63e55553f5 Improve stickers order in getStickers. 2022-06-10 14:31:28 +03:00
levlam
cb98c0a10a Add class AvailableReaction. 2022-06-09 01:07:53 +03:00
levlam
2570044eba Return, whether available reaction needs premium. 2022-06-08 17:34:13 +03:00
levlam
8fae960e43 Support premium stickers in secret chats. 2022-06-03 17:31:48 +03:00
levlam
e9a8d43a0a Add td_api::getAllAnimatedEmojis. 2022-05-23 14:05:35 +03:00
levlam
0909f88bc3 Use int53 for file size in TDLib API. 2022-05-11 17:17:20 +03:00
levlam
880a582959 Add layer 143 to secret chats. 2022-05-11 07:46:06 +03:00
levlam
447cfbfb1d Support premium stickers. 2022-04-26 16:01:29 +03:00
levlam
f8077965ad Support premium reactions. 2022-04-26 14:40:06 +03:00
levlam
a90dd653af Avoid logging to error if invalid dimensions were provided by app. 2022-05-26 17:13:31 +03:00
levlam
de5f047dba Remove all emoji modifiers, including modifiers in the middle. 2022-05-12 18:02:27 +03:00
levlam
6790c309ac Move data reloading to UpdatesManager. 2022-05-12 16:34:13 +03:00
levlam
f9f309d334 Simplify SecretInputMedia creation. 2022-05-11 01:53:18 +03:00
levlam
4652292037 Use count instead of find if appropriate. 2022-05-01 23:03:06 +03:00
levlam
dc79b35570 Check for duplicate calls to init(). 2022-04-26 02:06:35 +03:00
levlam
402f75153b Improve get_sticker_set_short_name usages. 2022-04-17 23:07:00 +03:00
levlam
163e739302 Add set_promises/fail_promises helper functions. 2022-04-13 17:40:12 +03:00
levlam
37123a50ff Don't create vectors using set iterators. 2022-03-12 13:22:07 +03:00
levlam
1f38124861 Use FlatHashSet. 2022-03-11 21:38:48 +03:00
levlam
deafeee33b Guess format of sent stickers by file extension. 2022-02-17 20:45:58 +03:00
levlam
a5ed61393c Improve logging. 2022-02-17 18:42:50 +03:00
levlam
15f27455c5 Move other big classes inside FlatHashMap to unique_ptr. 2022-02-11 19:27:32 +03:00
levlam
fc73b94a59 Fix outline of animated sticker sets. 2022-02-11 18:07:56 +03:00
levlam
dc198f537c Ignore stickerPack with an empty emoticon. 2022-02-11 17:46:57 +03:00
levlam
d5d4f4acf7 Fix remaining FlatHashMap usages. 2022-02-10 18:03:03 +03:00
levlam
2b1314295d Check and fix half of FlatHashMap usages. 2022-02-10 00:59:52 +03:00
levlam
bcc2adeb47 Fix includes and formatting. 2022-02-08 00:04:34 +03:00
Arseny Smirnov
86bceb2972 td: replace most of std::unordered_map usages to td::FlatHashMap 2022-02-07 21:21:31 +01:00
levlam
f3bb075f62 Use InvokeAfter for all queries changing sticker sets. 2022-02-06 00:16:16 +03:00
levlam
d5d6e520e0 Fix creation of WEBM documents. 2022-01-31 20:41:11 +03:00
levlam
e503195e0e Upload WEBM stickers as documents. 2022-01-31 20:22:07 +03:00
levlam
e1bd34cda8 Update scheme. 2022-01-29 01:53:50 +03:00
levlam
79f1890613 Use td_api::StickerType instead of td_api::StickerFormat. 2022-01-26 17:53:38 +03:00
levlam
eaf859409e Check MIME-type of received stickers. 2022-01-26 17:30:57 +03:00
levlam
262d63564d Fix misprint. 2022-01-26 17:25:55 +03:00
levlam
a972252a46 Support creation of WEBM sticker packs. 2022-01-25 16:56:10 +03:00
levlam
e2d1824edc Add stickerFormatWebpMask. 2022-01-25 15:27:06 +03:00
levlam
d6bb83dc0e Support WEBM stickers. 2022-01-25 14:58:04 +03:00
levlam
0d2b1c2072 Update layer to 138. 2022-01-25 12:36:30 +03:00
levlam
6001485409 Save reactions between restarts. 2022-01-24 16:43:38 +03:00
levlam
facb8f754a Move list of active reactions to MessagesManager. 2022-01-19 18:59:48 +03:00
levlam
4e657b73ab Return all reactions as available in private chats. 2022-01-19 18:10:16 +03:00
levlam
99586edf26 Add updateReaction. 2022-01-19 14:14:21 +03:00
levlam
4e172fc5c8 Add expected_format to on_get_sticker_document. 2022-01-18 19:28:32 +03:00
levlam
be2678ce94 Add enum StickerFormat. 2022-01-18 19:20:43 +03:00
levlam
3becacf304 Add chat.available_reactions and updateChatAvailableReactions. 2022-01-04 16:33:57 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
bbb4b68699 Fix MSVC 2015 warning. 2021-12-28 02:01:20 +03:00
levlam
eff87996a5 Match animated emoji without selectors. 2021-12-22 13:40:20 +03:00
levlam
d3780284fc Remove wrong check. 2021-12-20 15:15:34 +03:00
levlam
b060536ae3 Return Result<...> from get_input_user. 2021-12-16 22:46:03 +03:00
levlam
aa8a4979df Asynchronously save emoji keywords. 2021-12-12 23:50:05 +03:00
levlam
34ba9b21f3 Don't try to load already loaded special sticker set. 2021-12-08 16:54:45 +03:00
levlam
39a8621182 Load special sticker sets from database before reloading them from server. 2021-12-01 22:05:40 +03:00
levlam
3b1ec88067 Reload special sticker sets only once simultaneously. 2021-12-01 20:30:02 +03:00
levlam
d5a7dc2638 Remove legacy animated_emoji_sticker_set_name option. 2021-12-01 20:03:52 +03:00
levlam
37d5a59422 Pass SpecialStickerSetType to add_special_sticker_set. 2021-12-01 19:59:45 +03:00
levlam
6143bb1b94 Replace color_replacements with fitzpatrick_type as needed by the latest rlottie version. 2021-11-23 15:01:12 +03:00
levlam
a366d9b40d Support hash in ReloadSpecialStickerSetQuery. 2021-11-19 14:07:05 +03:00
levlam
9b5bc5f4f3 Use hash in GetStickerSetQuery. 2021-11-19 13:56:12 +03:00
levlam
6ace4fdf36 Update layer to 135. 2021-11-09 19:07:55 +03:00
levlam
340e0f0b85 Fix has/have spelling. 2021-12-02 14:15:37 +03:00
levlam
6dd7c73765 Add source to store_sticker_set. 2021-11-14 10:19:03 +03:00
levlam
ed56a75b8a Check sticker pointer before use. 2021-11-14 09:05:33 +03:00
levlam
60907279fd Add missing checks for close_flag in Timeout callbacks. 2021-11-13 22:37:41 +03:00
levlam
5a02af8c72 Use const reference if range-based for if appropriate. 2021-11-10 20:39:35 +03:00
levlam
6de2763fac Remove duplicate logging before net queries. 2021-11-08 16:41:16 +03:00
levlam
616b0e6d6f Improve ResultHandler/NetActor td_ private field name. 2021-11-08 15:20:38 +03:00
levlam
5578ecc6b8 Remove NetQuery id from ResultHandler and NetActor. 2021-11-08 14:19:57 +03:00
levlam
ca7947cf44 Minor improvements. 2021-11-04 12:46:08 +03:00
levlam
eb2c0c9315 Check for is_bot just in case. 2021-11-04 11:41:07 +03:00
levlam
2ac0bea193 Disable animated emoji clicks if animated emoji are disabled. 2021-11-01 23:19:22 +03:00
levlam
0c1e268706 Don't generate MASK for parsed True fields. 2021-11-01 21:53:23 +03:00
levlam
6f34c5c6a1 Make PhotoSizeSource constructors named. 2021-10-27 16:52:22 +03:00
levlam
22a859045f Fix getAnimatedEmoji. 2021-10-27 15:19:07 +03:00
levlam
6893c49be7 Add td_api::getAnimatedEmoji. 2021-10-26 17:59:15 +03:00
levlam
1dd054d896 Add const get_animated_emoji_object. 2021-10-26 16:50:18 +03:00
levlam
9addfaf6fe Add class td_api::animatedEmoji. 2021-10-26 16:15:01 +03:00
levlam
bcf0316432 Zoom sticker's outline. 2021-10-14 01:06:12 +03:00
levlam
cbca467991 Adjust dimensions of animated emojis. 2021-10-14 00:18:44 +03:00
levlam
f70498898b Add fileSourceAppConfig. 2021-10-08 13:41:22 +03:00
levlam
c3d898f1e6 Add ConfigManager::reget_app_config. 2021-10-06 01:17:10 +03:00
levlam
6ecba8cb5d Download emoji sounds from main DC. 2021-10-06 00:55:22 +03:00
levlam
038abf5466 Add sound to messageAnimatedEmoji. 2021-10-05 23:20:49 +03:00
levlam
9fb1f1438e Add color replacements to messageAnimatedEmoji. 2021-10-05 18:42:05 +03:00
levlam
aae781295c Improve updating animated emoji stickers. 2021-10-05 18:06:05 +03:00
levlam
eb20f82730 Add disable_animated_emoji option. 2021-10-05 17:17:29 +03:00
levlam
ffe03ecb10 Add messageAnimatedEmoji. 2021-10-05 16:12:04 +03:00
levlam
77158cd7a5 Register emoji messages. 2021-10-04 16:08:51 +03:00
levlam
5642947198 Simplify send_update_recent_stickers usage. 2021-11-01 01:35:39 +03:00
levlam
c66cf3dec6 Use range-based for on arrays/strings if possible. 2021-11-01 01:24:51 +03:00
levlam
9f44816a62 Minor improvements. 2021-10-21 12:51:16 +03:00
levlam
1e49f6dc13 Use auto as variable type if it is initialized with a cast. 2021-10-20 01:27:02 +03:00
levlam
db7aa28bdf A lot more minor improvements. 2021-10-19 18:11:16 +03:00
levlam
9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam
dbd3b22f31 Remove wrong CHECK. 2021-10-08 12:18:01 +03:00
levlam
328c5b57d2 Add Global::request_aborted_error. 2021-10-07 16:36:21 +03:00
levlam
3b794126d8 Avoid G usage in lambda promises. 2021-10-07 15:28:52 +03:00
levlam
b34cfef4d0 Replace begin_transaction with begin_read_transaction and begin_write_transaction. 2021-10-07 13:18:00 +03:00
levlam
4b41d620c5 Use send_closure instead of raw call. 2021-10-06 23:33:18 +03:00
levlam
cd9a89fd7d Send updateAnimatedEmojiMessageClicked in non-opened chats. 2021-10-01 20:05:11 +03:00
levlam
cdb06da112 Add "; pass null" annotations for expected to be null request parameters. 2021-09-28 17:31:00 +03:00
levlam
493a9e5457 Erase more keys from binlog after database is deleted. 2021-09-26 21:15:31 +03:00
levlam
ef1bfc7c3e Improve field names. 2021-09-24 16:53:42 +03:00
levlam
a1d1d2160b Simplify load_special_sticker_set usage. 2021-09-24 13:08:32 +03:00
levlam
95d60959b1 Remove redundant checks for is_bot. 2021-09-24 11:07:12 +03:00
levlam
d6f3d9f08a Use error code 400 instead of small error codes. 2021-09-24 10:59:51 +03:00
levlam
fbd2309b37 Don't remove emoji modifiers in chat action emojis. 2021-09-23 17:16:59 +03:00
levlam
b6bde1e4c5 Move remove_emoji_modifiers to emoji.h. 2021-09-21 06:32:34 +03:00
levlam
53f9b0438e Optimize remove_emoji_modifiers usages. 2021-09-20 13:45:49 +03:00
levlam
0f2735b6a1 Ignore too often animated emoji clicks. 2021-09-19 20:52:46 +03:00
levlam
22cd853249 Delay responses to clickAnimatedEmojiMessage. 2021-09-19 20:43:47 +03:00
levlam
3883ffcc75 Check emoji in incoming chatActionEnjoyingAnimations. 2021-09-19 01:52:56 +03:00
levlam
db18baa503 Unify include order. 2021-09-19 00:47:05 +03:00
levlam
551103a084 Send updateAnimatedEmojiMessageClicked only in opened chats. 2021-09-18 21:26:22 +03:00
levlam
95d4ec8973 Simplify updateAnimatedEmojiMessageClicked. 2021-09-17 23:36:25 +03:00
levlam
b15244f59d Ensure delay of 0.2 seconds between updateAnimatedEmojiMessageClicked animations. 2021-09-17 19:59:31 +03:00
levlam
4cbf3f6146 Choose another sticker each time if there is more than 1 variant. 2021-09-17 17:59:07 +03:00
levlam
a54b37a8d8 Use sticker for red heart if there is no dedicated sticker for a colored heart. 2021-09-17 17:18:39 +03:00
levlam
6d21161f70 Add get_animated_emoji_stickers. 2021-09-17 16:58:20 +03:00
levlam
055e02f9c0 Send sendMessageEmojiInteraction typings. 2021-09-17 16:16:34 +03:00
levlam
5de53e09eb Add updateAnimatedEmojiMessageClicked. 2021-09-17 15:51:42 +03:00
levlam
f0c2f8f124 Prepare sendMessageEmojiInteraction. 2021-09-16 23:22:34 +03:00
levlam
5fd11e4b7a Add td_api::clickAnimatedEmojiMessage. 2021-09-16 00:41:40 +03:00
levlam
499e903c95 Add chatActionEnjoyingAnimations. 2021-09-15 17:11:44 +03:00
levlam
dcd8f3bfd0 Add animated_emoji_click_sticker_set_name. 2021-09-15 14:44:11 +03:00
levlam
41c391f140 Update layer to 133. 2021-09-03 12:27:59 +03:00
levlam
c03621d72c Add CHECK debug. 2021-09-13 16:03:21 +03:00
levlam
0ec10947d5 Fix some misprints. 2021-09-06 13:58:40 +03:00
levlam
cf7c14fb59 Remove unneeded document.is_changed. 2021-08-26 18:50:28 +03:00
levlam
a6151aff7b Don't delete old document after sticker upload. 2021-07-28 21:39:17 +03:00
levlam
40c5d47717 Make inherited classes final if possible. 2021-07-04 05:58:54 +03:00
levlam
edfa5d1d98 Use final instead of override. 2021-07-03 23:51:36 +03:00
levlam
eb134b02f2 Improve error messages. 2021-06-25 21:21:17 +03:00
levlam
7e543cf80b Allow to use uploadStickerFile for animated stickers. 2021-06-21 22:25:26 +03:00
levlam
16f52b59ab Add createNewStickerSet.source. 2021-06-18 18:45:57 +03:00
levlam
cec785022a Update layer 129. 2021-06-18 18:26:11 +03:00
levlam
84cf82583e Add td_api::checkStickerSetName. 2021-06-17 21:29:07 +03:00