Support premium gifts special sticker set.
This commit is contained in:
parent
a114133854
commit
d3b9b3b7c4
@ -25,6 +25,10 @@ SpecialStickerSetType SpecialStickerSetType::animated_dice(const string &emoji)
|
||||
return SpecialStickerSetType(PSTRING() << "animated_dice_sticker_set#" << emoji);
|
||||
}
|
||||
|
||||
SpecialStickerSetType SpecialStickerSetType::premium_gifts() {
|
||||
return SpecialStickerSetType("premium_gifts_sticker_set");
|
||||
}
|
||||
|
||||
SpecialStickerSetType::SpecialStickerSetType(
|
||||
const telegram_api::object_ptr<telegram_api::InputStickerSet> &input_sticker_set) {
|
||||
CHECK(input_sticker_set != nullptr);
|
||||
@ -38,6 +42,9 @@ SpecialStickerSetType::SpecialStickerSetType(
|
||||
case telegram_api::inputStickerSetDice::ID:
|
||||
*this = animated_dice(static_cast<const telegram_api::inputStickerSetDice *>(input_sticker_set.get())->emoticon_);
|
||||
break;
|
||||
case telegram_api::inputStickerSetPremiumGifts::ID:
|
||||
*this = premium_gifts();
|
||||
break;
|
||||
default:
|
||||
UNREACHABLE();
|
||||
break;
|
||||
@ -59,6 +66,9 @@ telegram_api::object_ptr<telegram_api::InputStickerSet> SpecialStickerSetType::g
|
||||
if (*this == animated_emoji_click()) {
|
||||
return telegram_api::make_object<telegram_api::inputStickerSetAnimatedEmojiAnimations>();
|
||||
}
|
||||
if (*this == premium_gifts()) {
|
||||
return telegram_api::make_object<telegram_api::inputStickerSetPremiumGifts>();
|
||||
}
|
||||
auto emoji = get_dice_emoji();
|
||||
if (!emoji.empty()) {
|
||||
return telegram_api::make_object<telegram_api::inputStickerSetDice>(emoji);
|
||||
|
@ -29,6 +29,8 @@ class SpecialStickerSetType {
|
||||
|
||||
static SpecialStickerSetType animated_dice(const string &emoji);
|
||||
|
||||
static SpecialStickerSetType premium_gifts();
|
||||
|
||||
string get_dice_emoji() const;
|
||||
|
||||
bool is_empty() const {
|
||||
|
@ -1352,6 +1352,11 @@ void StickersManager::init() {
|
||||
auto &sticker_set = add_special_sticker_set(SpecialStickerSetType::animated_emoji_click());
|
||||
load_special_sticker_set_info_from_binlog(sticker_set);
|
||||
}
|
||||
if (!G()->is_test_dc()) {
|
||||
// add premium gifts sticker set
|
||||
auto &sticker_set = add_special_sticker_set(SpecialStickerSetType::premium_gifts());
|
||||
load_special_sticker_set_info_from_binlog(sticker_set);
|
||||
}
|
||||
|
||||
dice_emojis_str_ =
|
||||
G()->shared_config().get_option_string("dice_emojis", "🎲\x01🎯\x01🏀\x01⚽\x01⚽️\x01🎰\x01🎳");
|
||||
@ -1564,6 +1569,9 @@ void StickersManager::on_load_special_sticker_set(const SpecialStickerSetType &t
|
||||
set_promises(pending_get_animated_emoji_queries_);
|
||||
return;
|
||||
}
|
||||
if (type == SpecialStickerSetType::premium_gifts()) {
|
||||
return;
|
||||
}
|
||||
|
||||
CHECK(special_sticker_set.id_.is_valid());
|
||||
auto sticker_set = get_sticker_set(special_sticker_set.id_);
|
||||
@ -2450,6 +2458,7 @@ StickerSetId StickersManager::get_sticker_set_id(const tl_object_ptr<telegram_ap
|
||||
Auto());
|
||||
case telegram_api::inputStickerSetAnimatedEmoji::ID:
|
||||
case telegram_api::inputStickerSetAnimatedEmojiAnimations::ID:
|
||||
case telegram_api::inputStickerSetPremiumGifts::ID:
|
||||
LOG(ERROR) << "Receive special sticker set " << to_string(set_ptr);
|
||||
return add_special_sticker_set(SpecialStickerSetType(set_ptr)).id_;
|
||||
case telegram_api::inputStickerSetDice::ID:
|
||||
@ -2479,6 +2488,7 @@ StickerSetId StickersManager::add_sticker_set(tl_object_ptr<telegram_api::InputS
|
||||
}
|
||||
case telegram_api::inputStickerSetAnimatedEmoji::ID:
|
||||
case telegram_api::inputStickerSetAnimatedEmojiAnimations::ID:
|
||||
case telegram_api::inputStickerSetPremiumGifts::ID:
|
||||
LOG(ERROR) << "Receive special sticker set " << to_string(set_ptr);
|
||||
return add_special_sticker_set(SpecialStickerSetType(set_ptr)).id_;
|
||||
case telegram_api::inputStickerSetDice::ID:
|
||||
@ -2675,6 +2685,7 @@ StickerSetId StickersManager::on_get_input_sticker_set(FileId sticker_file_id,
|
||||
}
|
||||
case telegram_api::inputStickerSetAnimatedEmoji::ID:
|
||||
case telegram_api::inputStickerSetAnimatedEmojiAnimations::ID:
|
||||
case telegram_api::inputStickerSetPremiumGifts::ID:
|
||||
return add_special_sticker_set(SpecialStickerSetType(set_ptr)).id_;
|
||||
case telegram_api::inputStickerSetDice::ID:
|
||||
return StickerSetId();
|
||||
|
@ -1683,6 +1683,7 @@ void UpdatesManager::try_reload_data() {
|
||||
td_->stickers_manager_->get_favorite_stickers(Auto());
|
||||
td_->stickers_manager_->reload_special_sticker_set_by_type(SpecialStickerSetType::animated_emoji());
|
||||
td_->stickers_manager_->reload_special_sticker_set_by_type(SpecialStickerSetType::animated_emoji_click());
|
||||
td_->stickers_manager_->reload_special_sticker_set_by_type(SpecialStickerSetType::premium_gifts());
|
||||
|
||||
schedule_data_reload();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user