From 607f99e40d15a0a11c25eea6dbbdc83f821e8cd2 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 28 Aug 2019 03:01:15 +0300 Subject: [PATCH] Fix sending games via bot. GitOrigin-RevId: 41f71dba07c0d441660650a0f8a01c3f4a94d778 --- td/telegram/MessagesManager.cpp | 8 ++++---- td/telegram/MessagesManager.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 7ab9e31a2..6e449d234 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -15785,8 +15785,8 @@ Status MessagesManager::can_send_message(DialogId dialog_id) const { return Status::OK(); } -Status MessagesManager::can_send_message_content(DialogId dialog_id, const MessageContent *content, - bool is_forward) const { +Status MessagesManager::can_send_message_content(DialogId dialog_id, const MessageContent *content, bool is_forward, + bool is_via_bot) const { auto dialog_type = dialog_id.get_type(); int32 secret_chat_layer = std::numeric_limits::max(); if (dialog_type == DialogType::SecretChat) { @@ -15878,7 +15878,7 @@ Status MessagesManager::can_send_message_content(DialogId dialog_id, const Messa if (!can_send_games) { return Status::Error(400, "Not enough rights to send games to the chat"); } - if (!is_forward && !get_message_content_game_bot_user_id(content).is_valid()) { + if (!is_forward && !is_via_bot && !get_message_content_game_bot_user_id(content).is_valid()) { return Status::Error(400, "Games can't be copied"); } break; @@ -17109,7 +17109,7 @@ Result MessagesManager::send_inline_query_result_message(DialogId dia return Status::Error(5, "Inline query result not found"); } - TRY_STATUS(can_send_message_content(dialog_id, content->message_content.get(), false)); + TRY_STATUS(can_send_message_content(dialog_id, content->message_content.get(), false, true)); bool need_update_dialog_pos = false; Message *m = get_message_to_send( diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 6c84c0310..b57914578 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -1357,8 +1357,8 @@ class MessagesManager : public Actor { Status can_send_message(DialogId dialog_id) const TD_WARN_UNUSED_RESULT; - Status can_send_message_content(DialogId dialog_id, const MessageContent *content, - bool is_forward) const TD_WARN_UNUSED_RESULT; + Status can_send_message_content(DialogId dialog_id, const MessageContent *content, bool is_forward, + bool is_via_bot = false) const TD_WARN_UNUSED_RESULT; static bool can_resend_message(const Message *m);