aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-06-30 00:37:23 +0300
committerlevlam <levlam@telegram.org>2026-06-30 00:37:23 +0300
commitf539e4cf4454b32fdbdb84cf8ff69518e7e81e9b (patch)
treec156eab6f210abdbfdb05a2bbede27d96de54ee0
parentbbe4d7018b863bc93d58809f03495d44e127502d (diff)
Process updateEditEphemeralMessage.
-rw-r--r--td/telegram/MessagesManager.cpp15
-rw-r--r--td/telegram/MessagesManager.h2
-rw-r--r--td/telegram/UpdatesManager.cpp11
-rw-r--r--td/telegram/UpdatesManager.h4
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);
};