diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index da6858297..9108834f3 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -16771,6 +16771,18 @@ void MessagesManager::load_messages(DialogId dialog_id, MessageId from_message_i get_history(dialog_id, from_message_id, offset, limit, from_database, only_local, std::move(promise)); } +tl_object_ptr MessagesManager::get_message_sending_state_object(const Message *m) { + CHECK(m != nullptr); + if (m->message_id.is_yet_unsent()) { + return td_api::make_object(); + } + if (m->is_failed_to_send) { + return td_api::make_object( + m->send_error_code, m->send_error_message, can_resend_message(m), max(m->try_resend_at - Time::now(), 0.0)); + } + return nullptr; +} + tl_object_ptr MessagesManager::get_message_scheduling_state_object(int32 send_date) { if (send_date == SCHEDULE_WHEN_ONLINE_DATE) { return td_api::make_object(); @@ -16788,14 +16800,7 @@ tl_object_ptr MessagesManager::get_message_object(DialogId dial return nullptr; } - // TODO get_message_sending_state_object - tl_object_ptr sending_state; - if (m->is_failed_to_send) { - sending_state = make_tl_object( - m->send_error_code, m->send_error_message, can_resend_message(m), max(m->try_resend_at - Time::now(), 0.0)); - } else if (m->message_id.is_yet_unsent()) { - sending_state = make_tl_object(); - } + auto sending_state = get_message_sending_state_object(m); if (for_event_log) { CHECK(m->message_id.is_server()); diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index fd152628a..ba7ccd531 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -1857,6 +1857,8 @@ class MessagesManager : public Actor { void hide_dialog_action_bar(Dialog *d); + static tl_object_ptr get_message_sending_state_object(const Message *m); + static tl_object_ptr get_message_scheduling_state_object(int32 send_date); tl_object_ptr get_message_object(DialogId dialog_id, const Message *m,