From c278251d8f668aea24ee61618049c83c3217b50c Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 28 Mar 2022 17:15:39 +0300 Subject: [PATCH] Add web_app_data messages. --- telegram-bot-api/Client.cpp | 23 +++++++++++++++++++++++ telegram-bot-api/Client.h | 1 + 2 files changed, 24 insertions(+) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index 1c3a1fe..8955a7c 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -1456,6 +1456,20 @@ class Client::JsonPassportData final : public Jsonable { const Client *client_; }; +class Client::JsonWebAppData final : public Jsonable { + public: + explicit JsonWebAppData(const td_api::messageWebAppDataReceived *web_app_data) : web_app_data_(web_app_data) { + } + void store(JsonValueScope *scope) const { + auto object = scope->enter_object(); + object("button_text", web_app_data_->button_text_); + object("data", web_app_data_->data_); + } + + private: + const td_api::messageWebAppDataReceived *web_app_data_; +}; + class Client::JsonProximityAlertTriggered final : public Jsonable { public: JsonProximityAlertTriggered(const td_api::messageProximityAlertTriggered *proximity_alert_triggered, @@ -1974,6 +1988,13 @@ void Client::JsonMessage::store(JsonValueScope *scope) const { object("voice_chat_participants_invited", JsonInviteVideoChatParticipants(content, client_)); break; } + case td_api::messageWebAppDataSent::ID: + break; + case td_api::messageWebAppDataReceived::ID: { + auto content = static_cast(message_->content.get()); + object("web_app_data", JsonWebAppData(content)); + break; + } default: UNREACHABLE(); } @@ -9394,6 +9415,8 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr