Skip to content

Commit b9fd401

Browse files
committed
Automatically delete ephemeral messages in 7 days.
1 parent c52d9af commit b9fd401

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

td/telegram/MessagesManager.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11342,6 +11342,7 @@ MessagesManager::MessageInfo MessagesManager::parse_ephemeral_message(
1134211342
MessageReplyHeader(td, std::move(message->reply_to_), dialog_id, message_info.message_id, message_info.date);
1134311343
message_info.is_outgoing = message->out_;
1134411344
message_info.is_channel_post = td->dialog_manager_->is_broadcast_channel(dialog_id);
11345+
message_info.ttl_period = 7 * 86400;
1134511346
// message_info.noforwards = message->noforwards_;
1134611347
// message_info.invert_media = message->invert_media_;
1134711348
// message_info.effect_id = MessageEffectId(message->effect_);
@@ -20482,6 +20483,7 @@ td_api::object_ptr<td_api::message> MessagesManager::get_message_object(DialogId
2048220483
if (sending_state == nullptr || !is_bot) {
2048320484
m->is_update_sent = true;
2048420485
}
20486+
bool is_ephemeral = m->ephemeral_message_id != 0;
2048520487
bool is_scheduled = m->message_id.is_scheduled();
2048620488
bool is_from_saved_messages = (dialog_id == td_->dialog_manager_->get_my_dialog_id());
2048720489
bool is_outgoing = m->is_outgoing;
@@ -20497,10 +20499,11 @@ td_api::object_ptr<td_api::message> MessagesManager::get_message_object(DialogId
2049720499
is_outgoing = false;
2049820500
}
2049920501

20502+
auto ttl_period = is_ephemeral ? 0 : m->ttl_period;
2050020503
double ttl_expires_in =
2050120504
m->ttl_expires_at != 0 ? clamp(m->ttl_expires_at - Time::now(), 1e-3, m->ttl.get_input_ttl() - 1e-3) : 0.0;
2050220505
double auto_delete_in =
20503-
m->ttl_period == 0 ? 0.0 : clamp(m->date + m->ttl_period - G()->server_time(), 1e-3, m->ttl_period - 1e-3);
20506+
ttl_period == 0 ? 0.0 : clamp(m->date + ttl_period - G()->server_time(), 1e-3, ttl_period - 1e-3);
2050420507
auto sender = get_message_sender_object_const(td_, m->sender_user_id, m->sender_dialog_id, source);
2050520508
auto scheduling_state = is_scheduled ? MessageSendOptions::get_message_scheduling_state_object(
2050620509
m->date, m->schedule_repeat_period, m->video_processing_pending)

0 commit comments

Comments
 (0)