diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 70c11a926..d0729983a 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -38399,8 +38399,13 @@ Result MessagesManager::get_invoice_message_id(MessageFullId me return Status::Error(400, "Message not found"); } auto content_type = m->content->get_type(); - if (content_type != MessageContentType::Invoice && content_type != MessageContentType::PaidMedia) { - return Status::Error(400, "Message has no invoice"); + if (content_type != MessageContentType::Invoice) { + if (content_type != MessageContentType::PaidMedia) { + return Status::Error(400, "Message has no invoice"); + } + if (!need_poll_message_content_extended_media(m->content.get())) { + return Status::Error(400, "Message media has already been bought"); + } } if (m->message_id.is_scheduled()) { return Status::Error(400, "Wrong scheduled message identifier");