Update TDLib to 1.8.28.

This commit is contained in:
levlam 2024-04-21 22:04:27 +03:00
parent 6173126371
commit b56b61ba0e
3 changed files with 24 additions and 23 deletions

2
td

@ -1 +1 @@
Subproject commit efc6bd553b61dea0ae8c0436695e8d2539bf03f9 Subproject commit 38d31da77a72619cf7ec5d479338a48274cc7446

View File

@ -742,25 +742,26 @@ class Client::JsonBirthdate final : public td::Jsonable {
const td_api::birthdate *birthdate_; const td_api::birthdate *birthdate_;
}; };
class Client::JsonBusinessIntro final : public td::Jsonable { class Client::JsonBusinessStartPage final : public td::Jsonable {
public: public:
JsonBusinessIntro(const td_api::businessIntro *intro, const Client *client) : intro_(intro), client_(client) { JsonBusinessStartPage(const td_api::businessStartPage *start_page, const Client *client)
: start_page_(start_page), client_(client) {
} }
void store(td::JsonValueScope *scope) const { void store(td::JsonValueScope *scope) const {
auto object = scope->enter_object(); auto object = scope->enter_object();
if (!intro_->title_.empty()) { if (!start_page_->title_.empty()) {
object("title", intro_->title_); object("title", start_page_->title_);
} }
if (!intro_->message_.empty()) { if (!start_page_->message_.empty()) {
object("message", intro_->message_); object("message", start_page_->message_);
} }
if (intro_->sticker_ != nullptr) { if (start_page_->sticker_ != nullptr) {
object("sticker", JsonSticker(intro_->sticker_.get(), client_)); object("sticker", JsonSticker(start_page_->sticker_.get(), client_));
} }
} }
private: private:
const td_api::businessIntro *intro_; const td_api::businessStartPage *start_page_;
const Client *client_; const Client *client_;
}; };
@ -956,8 +957,8 @@ class Client::JsonChat final : public td::Jsonable {
} }
if (user_info->business_info != nullptr) { if (user_info->business_info != nullptr) {
auto business_info = user_info->business_info.get(); auto business_info = user_info->business_info.get();
if (business_info->intro_ != nullptr) { if (business_info->start_page_ != nullptr) {
object("business_intro", JsonBusinessIntro(business_info->intro_.get(), client_)); object("business_intro", JsonBusinessStartPage(business_info->start_page_.get(), client_));
} }
if (business_info->location_ != nullptr) { if (business_info->location_ != nullptr) {
object("business_location", JsonBusinessLocation(business_info->location_.get())); object("business_location", JsonBusinessLocation(business_info->location_.get()));
@ -4752,9 +4753,9 @@ class Client::TdOnGetChatCustomEmojiStickerSetCallback final : public TdQueryCal
PromisedQueryPtr query_; PromisedQueryPtr query_;
}; };
class Client::TdOnGetChatBusinessIntroStickerSetCallback final : public TdQueryCallback { class Client::TdOnGetChatBusinessStartPageStickerSetCallback final : public TdQueryCallback {
public: public:
TdOnGetChatBusinessIntroStickerSetCallback(Client *client, int64 chat_id, int64 pinned_message_id, TdOnGetChatBusinessStartPageStickerSetCallback(Client *client, int64 chat_id, int64 pinned_message_id,
PromisedQueryPtr query) PromisedQueryPtr query)
: client_(client), chat_id_(chat_id), pinned_message_id_(pinned_message_id), query_(std::move(query)) { : client_(client), chat_id_(chat_id), pinned_message_id_(pinned_message_id), query_(std::move(query)) {
} }
@ -4765,9 +4766,9 @@ class Client::TdOnGetChatBusinessIntroStickerSetCallback final : public TdQueryC
CHECK(chat_info->type == ChatInfo::Type::Private); CHECK(chat_info->type == ChatInfo::Type::Private);
auto user_info = client_->add_user_info(chat_info->user_id); auto user_info = client_->add_user_info(chat_info->user_id);
if (result->get_id() == td_api::error::ID) { if (result->get_id() == td_api::error::ID) {
if (user_info->business_info != nullptr && user_info->business_info->intro_ != nullptr && if (user_info->business_info != nullptr && user_info->business_info->start_page_ != nullptr &&
user_info->business_info->intro_->sticker_ != nullptr) { user_info->business_info->start_page_->sticker_ != nullptr) {
user_info->business_info->intro_->sticker_->set_id_ = 0; user_info->business_info->start_page_->sticker_->set_id_ = 0;
} }
} else { } else {
CHECK(result->get_id() == td_api::stickerSet::ID); CHECK(result->get_id() == td_api::stickerSet::ID);
@ -4867,13 +4868,13 @@ class Client::TdOnGetChatPinnedMessageCallback final : public TdQueryCallback {
auto user_info = client_->get_user_info(chat_info->user_id); auto user_info = client_->get_user_info(chat_info->user_id);
CHECK(user_info != nullptr); CHECK(user_info != nullptr);
if (user_info->business_info != nullptr && user_info->business_info->intro_ != nullptr) { if (user_info->business_info != nullptr && user_info->business_info->start_page_ != nullptr) {
auto *sticker = user_info->business_info->intro_->sticker_.get(); auto *sticker = user_info->business_info->start_page_->sticker_.get();
if (sticker != nullptr) { if (sticker != nullptr) {
auto sticker_set_id = sticker->set_id_; auto sticker_set_id = sticker->set_id_;
if (sticker_set_id != 0 && client_->get_sticker_set_name(sticker_set_id).empty()) { if (sticker_set_id != 0 && client_->get_sticker_set_name(sticker_set_id).empty()) {
return client_->send_request(make_object<td_api::getStickerSet>(sticker_set_id), return client_->send_request(make_object<td_api::getStickerSet>(sticker_set_id),
td::make_unique<TdOnGetChatBusinessIntroStickerSetCallback>( td::make_unique<TdOnGetChatBusinessStartPageStickerSetCallback>(
client_, chat_id_, pinned_message_id, std::move(query_))); client_, chat_id_, pinned_message_id, std::move(query_)));
} }
} }

View File

@ -94,7 +94,7 @@ class Client final : public WebhookActor::Callback {
class JsonReactionType; class JsonReactionType;
class JsonReactionCount; class JsonReactionCount;
class JsonBirthdate; class JsonBirthdate;
class JsonBusinessIntro; class JsonBusinessStartPage;
class JsonBusinessLocation; class JsonBusinessLocation;
class JsonBusinessOpeningHoursInterval; class JsonBusinessOpeningHoursInterval;
class JsonBusinessOpeningHours; class JsonBusinessOpeningHours;
@ -226,7 +226,7 @@ class Client final : public WebhookActor::Callback {
class TdOnGetChatFullInfoCallback; class TdOnGetChatFullInfoCallback;
class TdOnGetChatStickerSetCallback; class TdOnGetChatStickerSetCallback;
class TdOnGetChatCustomEmojiStickerSetCallback; class TdOnGetChatCustomEmojiStickerSetCallback;
class TdOnGetChatBusinessIntroStickerSetCallback; class TdOnGetChatBusinessStartPageStickerSetCallback;
class TdOnGetChatPinnedMessageCallback; class TdOnGetChatPinnedMessageCallback;
class TdOnGetChatPinnedMessageToUnpinCallback; class TdOnGetChatPinnedMessageToUnpinCallback;
class TdOnGetGroupMembersCallback; class TdOnGetGroupMembersCallback;