diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index 0713cad..df4646d 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -1499,7 +1499,8 @@ class Client::JsonChatPhoto final : public td::Jsonable { class Client::JsonVideo final : public td::Jsonable { public: - JsonVideo(const td_api::video *video, const Client *client) : video_(video), client_(client) { + JsonVideo(const td_api::video *video, const td_api::photo *cover, const Client *client) + : video_(video), cover_(cover), client_(client) { } void store(td::JsonValueScope *scope) const { auto object = scope->enter_object(); @@ -1512,12 +1513,16 @@ class Client::JsonVideo final : public td::Jsonable { if (!video_->mime_type_.empty()) { object("mime_type", video_->mime_type_); } + if (cover_ != nullptr) { + object("cover", JsonPhoto(cover_, client_)); + } client_->json_store_thumbnail(object, video_->thumbnail_.get()); client_->json_store_file(object, video_->video_.get()); } private: const td_api::video *video_; + const td_api::photo *cover_; const Client *client_; }; @@ -1586,7 +1591,7 @@ class Client::JsonPaidMedia final : public td::Jsonable { case td_api::paidMediaVideo::ID: { auto media = static_cast(paid_media_); object("type", "video"); - object("video", JsonVideo(media->video_.get(), client_)); + object("video", JsonVideo(media->video_.get(), media->cover_.get(), client_)); break; } case td_api::paidMediaUnsupported::ID: @@ -2805,7 +2810,7 @@ class Client::JsonExternalReplyInfo final : public td::Jsonable { } case td_api::messageVideo::ID: { auto content = static_cast(reply_->content_.get()); - object("video", JsonVideo(content->video_.get(), client_)); + object("video", JsonVideo(content->video_.get(), content->cover_.get(), client_)); add_media_spoiler(object, content->has_spoiler_); break; } @@ -3063,7 +3068,7 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const { } case td_api::messageVideo::ID: { auto content = static_cast(message_->content.get()); - object("video", JsonVideo(content->video_.get(), client_)); + object("video", JsonVideo(content->video_.get(), content->cover_.get(), client_)); add_caption(object, content->caption_, content->show_caption_above_media_); add_media_spoiler(object, content->has_spoiler_); break;