From 48e49676a442c34b885e61552ba645c8272a9279 Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 2 Aug 2025 23:22:15 +0300 Subject: [PATCH] Add Message.suggested_post_approval_failed. --- telegram-bot-api/Client.cpp | 30 +++++++++++++++++++++++++++--- telegram-bot-api/Client.h | 1 + 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index b65ccc4..88beb11 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -2195,6 +2195,29 @@ class Client::JsonChecklistTasksAdded final : public td::Jsonable { const Client *client_; }; +class Client::JsonSuggestedPostApprovalFailed final : public td::Jsonable { + public: + JsonSuggestedPostApprovalFailed(const td_api::messageSuggestedPostApprovalFailed *suggested_post_approval_failed, + int64 chat_id, const Client *client) + : suggested_post_approval_failed_(suggested_post_approval_failed), chat_id_(chat_id), client_(client) { + } + void store(td::JsonValueScope *scope) const { + auto object = scope->enter_object(); + const MessageInfo *suggested_post_message = + client_->get_message(chat_id_, suggested_post_approval_failed_->suggested_post_message_id_, true); + if (suggested_post_message != nullptr) { + object("suggested_post_message", + JsonMessage(suggested_post_message, false, "suggested post approval added", client_)); + } + object("price", JsonSuggestedPostPrice(suggested_post_approval_failed_->price_.get())); + } + + private: + const td_api::messageSuggestedPostApprovalFailed *suggested_post_approval_failed_; + int64 chat_id_; + const Client *client_; +}; + class Client::JsonStory final : public td::Jsonable { public: JsonStory(int64 chat_id, int32 story_id, const Client *client) @@ -3925,8 +3948,11 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const { } case td_api::messageGiftedTon::ID: break; - case td_api::messageSuggestedPostApprovalFailed::ID: + case td_api::messageSuggestedPostApprovalFailed::ID: { + auto content = static_cast(message_->content.get()); + object("suggested_post_approval_failed", JsonSuggestedPostApprovalFailed(content, message_->chat_id, client_)); break; + } case td_api::messageSuggestedPostApproved::ID: break; case td_api::messageSuggestedPostDeclined::ID: @@ -15883,8 +15909,6 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr