2
0
mirror of https://github.com/tdlib/telegram-bot-api synced 2025-08-23 02:17:39 +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 { class Client::JsonVideo final : public td::Jsonable {
public: 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 { void store(td::JsonValueScope *scope) const {
auto object = scope->enter_object(); auto object = scope->enter_object();
@ -1512,12 +1513,16 @@ class Client::JsonVideo final : public td::Jsonable {
if (!video_->mime_type_.empty()) { if (!video_->mime_type_.empty()) {
object("mime_type", video_->mime_type_); 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_thumbnail(object, video_->thumbnail_.get());
client_->json_store_file(object, video_->video_.get()); client_->json_store_file(object, video_->video_.get());
} }
private: private:
const td_api::video *video_; const td_api::video *video_;
const td_api::photo *cover_;
const Client *client_; const Client *client_;
}; };
@ -1586,7 +1591,7 @@ class Client::JsonPaidMedia final : public td::Jsonable {
case td_api::paidMediaVideo::ID: { case td_api::paidMediaVideo::ID: {
auto media = static_cast<const td_api::paidMediaVideo *>(paid_media_); auto media = static_cast<const td_api::paidMediaVideo *>(paid_media_);
object("type", "video"); object("type", "video");
object("video", JsonVideo(media->video_.get(), client_)); object("video", JsonVideo(media->video_.get(), media->cover_.get(), client_));
break; break;
} }
case td_api::paidMediaUnsupported::ID: case td_api::paidMediaUnsupported::ID:
@ -2805,7 +2810,7 @@ class Client::JsonExternalReplyInfo final : public td::Jsonable {
} }
case td_api::messageVideo::ID: { case td_api::messageVideo::ID: {
auto content = static_cast<const td_api::messageVideo *>(reply_->content_.get()); 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_); add_media_spoiler(object, content->has_spoiler_);
break; break;
} }
@ -3063,7 +3068,7 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const {
} }
case td_api::messageVideo::ID: { case td_api::messageVideo::ID: {
auto content = static_cast<const td_api::messageVideo *>(message_->content.get()); 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_caption(object, content->caption_, content->show_caption_above_media_);
add_media_spoiler(object, content->has_spoiler_); add_media_spoiler(object, content->has_spoiler_);
break; break;