diff options
Diffstat (limited to 'td/telegram/BusinessConnectionManager.cpp')
| -rw-r--r-- | td/telegram/BusinessConnectionManager.cpp | 19 |
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)); |
