From c9441d78be1b2e05a375a4a73dda7fed2f3e60e5 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 15 Mar 2022 14:49:05 +0300 Subject: [PATCH] Allow to send MentionName using TextUrl entities. --- td/telegram/MessageEntity.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/td/telegram/MessageEntity.cpp b/td/telegram/MessageEntity.cpp index 74b835548..25d3f8d98 100644 --- a/td/telegram/MessageEntity.cpp +++ b/td/telegram/MessageEntity.cpp @@ -3274,9 +3274,17 @@ Result> get_message_entities(const ContactsManager *contac if (!clean_input_string(entity->url_)) { return Status::Error(400, "MessageEntityTextUrl.url must be encoded in UTF-8"); } + auto user_id = LinkManager::get_link_user_id(entity->url_); + if (user_id.is_valid()) { + if (contacts_manager != nullptr && !contacts_manager->have_input_user(user_id)) { + return Status::Error(400, "Have no access to the user"); + } + entities.emplace_back(offset, length, user_id); + break; + } auto r_url = LinkManager::check_link(entity->url_); if (r_url.is_error()) { - return Status::Error(400, PSTRING() << "Wrong message input_entity: " << r_url.error().message()); + return Status::Error(400, PSTRING() << "Wrong URL entity specified: " << r_url.error().message()); } entities.emplace_back(MessageEntity::Type::TextUrl, offset, length, r_url.move_as_ok()); break;