From ef521624a0326ef8f2e1953a6c4db2db5f538607 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 13 Nov 2024 11:11:25 +0400 Subject: [PATCH] Check file by server before downloading. --- .../inline_bots/bot_attach_web_view.cpp | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Telegram/SourceFiles/inline_bots/bot_attach_web_view.cpp b/Telegram/SourceFiles/inline_bots/bot_attach_web_view.cpp index 637ec996b..19d811922 100644 --- a/Telegram/SourceFiles/inline_bots/bot_attach_web_view.cpp +++ b/Telegram/SourceFiles/inline_bots/bot_attach_web_view.cpp @@ -1910,13 +1910,21 @@ void WebViewInstance::botDownloadFile( }); callback(true); }; - _panel->showBox(Box(DownloadFileBox, DownloadBoxArgs{ - .session = &_bot->session(), - .bot = _bot->name(), - .name = base::FileNameFromUserString(request.name), - .url = request.url, - .done = done, - })); + _bot->session().api().request(MTPbots_CheckDownloadFileParams( + _bot->inputUser, + MTP_string(request.name), + MTP_string(request.url) + )).done([=] { + _panel->showBox(Box(DownloadFileBox, DownloadBoxArgs{ + .session = &_bot->session(), + .bot = _bot->name(), + .name = base::FileNameFromUserString(request.name), + .url = request.url, + .done = done, + })); + }).fail([=] { + done(QString()); + }).send(); } void WebViewInstance::botOpenPrivacyPolicy() {