2
0
mirror of https://github.com/tdlib/telegram-bot-api synced 2025-08-22 01:49:24 +00:00

Add Video.cover.

This commit is contained in:
levlam 2025-01-27 15:32:53 +03:00
parent dcee0b9e50
commit 7882783505

View File

@ -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<const td_api::paidMediaVideo *>(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<const td_api::messageVideo *>(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<const td_api::messageVideo *>(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;