diff options
| author | levlam <levlam@telegram.org> | 2026-06-30 00:37:23 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2026-06-30 00:37:23 +0300 |
| commit | f539e4cf4454b32fdbdb84cf8ff69518e7e81e9b (patch) | |
| tree | c156eab6f210abdbfdb05a2bbede27d96de54ee0 | |
| parent | bbe4d7018b863bc93d58809f03495d44e127502d (diff) | |
Process updateEditEphemeralMessage.
| -rw-r--r-- | td/telegram/MessagesManager.cpp | 15 | ||||
| -rw-r--r-- | td/telegram/MessagesManager.h | 2 | ||||
| -rw-r--r-- | td/telegram/UpdatesManager.cpp | 11 | ||||
| -rw-r--r-- | td/telegram/UpdatesManager.h | 4 |
4 files changed, 25 insertions, 7 deletions
diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 7b1e60d5b..e129925cc 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -4235,6 +4235,21 @@ void MessagesManager::on_new_ephemeral_message(telegram_api::object_ptr<telegram on_get_message(std::move(message_info), true, "on_new_ephemeral_message"); } +void MessagesManager::on_edited_ephemeral_message(telegram_api::object_ptr<telegram_api::ephemeralMessage> &&message) { + auto message_info = parse_ephemeral_message(td_, std::move(message), "on_edited_ephemeral_message"); + auto dialog_id = message_info.dialog_id; + if (!dialog_id.is_valid()) { + return; + } + + Dialog *d = get_dialog_force(dialog_id, "on_edited_ephemeral_message"); + if (d == nullptr || d->ephemeral_message_ids.count(message_info.ephemeral_message_id) == 0) { + return; + } + message_info.message_id = d->ephemeral_message_ids[message_info.ephemeral_message_id]; + on_get_message(std::move(message_info), false, "on_edited_ephemeral_message"); +} + MessagesManager::Dialog *MessagesManager::get_service_notifications_dialog() { UserId service_notifications_user_id = td_->user_manager_->add_service_notifications_user(); DialogId service_notifications_dialog_id(service_notifications_user_id); diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index f8834c6c0..0f7abd81b 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -315,6 +315,8 @@ class MessagesManager final : public Actor { void on_new_ephemeral_message(telegram_api::object_ptr<telegram_api::ephemeralMessage> &&message); + void on_edited_ephemeral_message(telegram_api::object_ptr<telegram_api::ephemeralMessage> &&message); + void on_update_service_notification(tl_object_ptr<telegram_api::updateServiceNotification> &&update, bool skip_new_entities, Promise<Unit> &&promise); diff --git a/td/telegram/UpdatesManager.cpp b/td/telegram/UpdatesManager.cpp index ffe55d3ed..4ba766a2d 100644 --- a/td/telegram/UpdatesManager.cpp +++ b/td/telegram/UpdatesManager.cpp @@ -3716,6 +3716,12 @@ void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateNewEphemeralMes promise.set_value(Unit()); } +void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateEditEphemeralMessage> update, + Promise<Unit> &&promise) { + td_->messages_manager_->on_edited_ephemeral_message(std::move(update->message_)); + promise.set_value(Unit()); +} + void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateReadHistoryInbox> update, Promise<Unit> &&promise) { int new_pts = update->pts_; int pts_count = update->pts_count_; @@ -5042,11 +5048,6 @@ void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateDeleteEphemeral promise.set_value(Unit()); } -void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateEditEphemeralMessage> update, - Promise<Unit> &&promise) { - promise.set_value(Unit()); -} - void UpdatesManager::on_update(tl_object_ptr<telegram_api::updateEphemeralBotCallbackQuery> update, Promise<Unit> &&promise) { promise.set_value(Unit()); diff --git a/td/telegram/UpdatesManager.h b/td/telegram/UpdatesManager.h index 16ba535ca..023152544 100644 --- a/td/telegram/UpdatesManager.h +++ b/td/telegram/UpdatesManager.h @@ -518,6 +518,8 @@ class UpdatesManager final : public Actor { void on_update(tl_object_ptr<telegram_api::updateNewEphemeralMessage> update, Promise<Unit> &&promise); + void on_update(tl_object_ptr<telegram_api::updateEditEphemeralMessage> update, Promise<Unit> &&promise); + void on_update(tl_object_ptr<telegram_api::updateReadHistoryInbox> update, Promise<Unit> &&promise); void on_update(tl_object_ptr<telegram_api::updateReadHistoryOutbox> update, Promise<Unit> &&promise); @@ -778,8 +780,6 @@ class UpdatesManager final : public Actor { void on_update(tl_object_ptr<telegram_api::updateDeleteEphemeralMessages> update, Promise<Unit> &&promise); - void on_update(tl_object_ptr<telegram_api::updateEditEphemeralMessage> update, Promise<Unit> &&promise); - void on_update(tl_object_ptr<telegram_api::updateEphemeralBotCallbackQuery> update, Promise<Unit> &&promise); }; |
