1 //
2 // Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2021
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 #pragma once
8 
9 #include "td/telegram/DialogId.h"
10 #include "td/telegram/MessageEntity.h"
11 #include "td/telegram/td_api.h"
12 
13 #include "td/utils/Status.h"
14 
15 namespace td {
16 
17 class ContactsManager;
18 
19 class InputMessageText {
20  public:
21   FormattedText text;
22   bool disable_web_page_preview = false;
23   bool clear_draft = false;
24   InputMessageText() = default;
InputMessageText(FormattedText text,bool disable_web_page_preview,bool clear_draft)25   InputMessageText(FormattedText text, bool disable_web_page_preview, bool clear_draft)
26       : text(std::move(text)), disable_web_page_preview(disable_web_page_preview), clear_draft(clear_draft) {
27   }
28 };
29 
30 bool operator==(const InputMessageText &lhs, const InputMessageText &rhs);
31 bool operator!=(const InputMessageText &lhs, const InputMessageText &rhs);
32 
33 Result<InputMessageText> process_input_message_text(const ContactsManager *contacts_manager, DialogId dialog_id,
34                                                     tl_object_ptr<td_api::InputMessageContent> &&input_message_content,
35                                                     bool is_bot, bool for_draft = false) TD_WARN_UNUSED_RESULT;
36 
37 td_api::object_ptr<td_api::inputMessageText> get_input_message_text_object(const InputMessageText &input_message_text);
38 
39 }  // namespace td
40