aboutsummaryrefslogtreecommitdiffhomepage
path: root/td/telegram/BusinessConnectionManager.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-07-08 18:09:21 +0300
committerlevlam <levlam@telegram.org>2026-07-08 18:09:21 +0300
commitc0763c3ad6970e78d714bbeea45930b47dd949a9 (patch)
tree43af18eb0c421fb92d7f6fa9faff1930820bed79 /td/telegram/BusinessConnectionManager.cpp
parentade9fd34de64f306ea546527079f8feaab1c3c0d (diff)
Fix animation uploading.
Diffstat (limited to 'td/telegram/BusinessConnectionManager.cpp')
-rw-r--r--td/telegram/BusinessConnectionManager.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/td/telegram/BusinessConnectionManager.cpp b/td/telegram/BusinessConnectionManager.cpp
index 231f6cbf7..52f816aae 100644
--- a/td/telegram/BusinessConnectionManager.cpp
+++ b/td/telegram/BusinessConnectionManager.cpp
@@ -133,6 +133,7 @@ struct BusinessConnectionManager::PendingMessage {
bool disable_notification_ = false;
bool invert_media_ = false;
bool disable_web_page_preview_ = false;
+ bool is_in_album_ = false;
void init_file_upload_ids(Td *td) {
CHECK(file_upload_id_ == FileUploadId());
@@ -1226,7 +1227,7 @@ Result<InputMessageContent> BusinessConnectionManager::process_input_message_con
unique_ptr<BusinessConnectionManager::PendingMessage> BusinessConnectionManager::create_business_message_to_send(
BusinessConnectionId business_connection_id, DialogId dialog_id, MessageInputReplyTo &&input_reply_to,
bool disable_notification, bool protect_content, MessageEffectId effect_id, unique_ptr<ReplyMarkup> &&reply_markup,
- InputMessageContent &&input_content) const {
+ InputMessageContent &&input_content, bool is_in_album) const {
auto content = dup_message_content(td_, td_->dialog_manager_->get_my_dialog_id(), input_content.content.get(),
MessageContentDupType::Send, MessageCopyOptions());
auto message = make_unique<PendingMessage>();
@@ -1243,6 +1244,7 @@ unique_ptr<BusinessConnectionManager::PendingMessage> BusinessConnectionManager:
message->ttl_ = input_content.ttl;
message->send_emoji_ = std::move(input_content.emoji);
message->random_id_ = Random::secure_int64();
+ message->is_in_album_ = is_in_album;
message->init_file_upload_ids(td_);
return message;
}
@@ -1259,9 +1261,9 @@ void BusinessConnectionManager::send_message(BusinessConnectionId business_conne
TRY_RESULT_PROMISE(promise, message_reply_markup,
get_reply_markup(std::move(reply_markup), DialogType::User, false, true, false));
- auto message = create_business_message_to_send(std::move(business_connection_id), dialog_id,
- std::move(input_reply_to), disable_notification, protect_content,
- effect_id, std::move(message_reply_markup), std::move(input_content));
+ auto message = create_business_message_to_send(
+ std::move(business_connection_id), dialog_id, std::move(input_reply_to), disable_notification, protect_content,
+ effect_id, std::move(message_reply_markup), std::move(input_content), false);
do_send_message(std::move(message), std::move(promise));
}
@@ -1519,7 +1521,7 @@ void BusinessConnectionManager::do_upload_media(BeingUploadedMedia &&being_uploa
file_upload_id, thumbnail_file_upload_id, message->ttl_, message->send_emoji_, true)
.media_);
CHECK(input_media != nullptr);
- if (is_uploaded_input_media(input_media)) {
+ if (is_uploaded_input_media(input_media, message->is_in_album_)) {
UploadMediaResult result;
result.message_ = std::move(being_uploaded_media.message_);
result.input_media_ = std::move(input_media);
@@ -1617,7 +1619,7 @@ void BusinessConnectionManager::do_send_message_album(int64 request_id, Business
auto &message_content = message_contents[media_pos];
auto message =
create_business_message_to_send(business_connection_id, dialog_id, input_reply_to.clone(), disable_notification,
- protect_content, effect_id, nullptr, std::move(message_content));
+ protect_content, effect_id, nullptr, std::move(message_content), true);
auto input_media = std::move(get_message_content_input_media(message->content_.get(), td_, message->ttl_,
message->send_emoji_, td_->auth_manager_->is_bot(), -1)
.media_);
@@ -1804,7 +1806,7 @@ void BusinessConnectionManager::edit_business_message_text(
get_input_message_content(DialogId(), std::move(input_message_content), td_, true));
auto message =
create_business_message_to_send(business_connection_id, dialog_id, MessageInputReplyTo(), false, false,
- MessageEffectId(), std::move(new_reply_markup), std::move(content));
+ MessageEffectId(), std::move(new_reply_markup), std::move(content), false);
message->message_id_ = message_id;
return do_send_message(std::move(message), std::move(promise));
@@ -1880,7 +1882,8 @@ void BusinessConnectionManager::edit_business_message_media(
get_inline_reply_markup(std::move(reply_markup), td_->auth_manager_->is_bot(), true));
auto message = create_business_message_to_send(business_connection_id, dialog_id, MessageInputReplyTo(), false, false,
- MessageEffectId(), std::move(new_reply_markup), std::move(content));
+ MessageEffectId(), std::move(new_reply_markup), std::move(content),
+ new_message_content_type != td_api::inputMessageAnimation::ID);
message->message_id_ = message_id;
do_send_message(std::move(message), std::move(promise));