From be63745e032a6a33f70e951e6f4f92601da05651 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 3 Nov 2023 12:27:36 +0300 Subject: [PATCH] tg_cli: escape unused reserved characters. --- td/telegram/cli.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/td/telegram/cli.cpp b/td/telegram/cli.cpp index 26873f6b7..ec3f0b28c 100644 --- a/td/telegram/cli.cpp +++ b/td/telegram/cli.cpp @@ -1652,8 +1652,16 @@ class CliClient final : public Actor { static td_api::object_ptr as_formatted_text( const string &text, vector> entities = {}) { if (entities.empty() && !text.empty()) { - auto parsed_text = execute( - td_api::make_object(text, td_api::make_object(2))); + Slice unused_reserved_characters("#+-={}.!"); + string new_text; + for (auto c : text) { + if (unused_reserved_characters.find(c) != Slice::npos) { + new_text += '\\'; + } + new_text += c; + } + auto parsed_text = execute(td_api::make_object( + new_text, td_api::make_object(2))); if (parsed_text->get_id() == td_api::formattedText::ID) { return td_api::move_object_as(parsed_text); }