Fixing Telegram Auto-Delete Timer Not Working

1. Why Telegram Auto-Delete Timer Stops Working
The auto-delete timer in Telegram is conditional: it only activates when all participants run a client ≥7.4 and the chat type allows disappearing messages. A single outdated device, a revoked session, or a corporate MDM profile can silently block the countdown. Understand the three failure classes:
Client-side: corrupt cache, stuck update payload, or background refresh disabled.
Server-side: channel restriction bit toggled, anti-spam quota, or DMA content hold.
User-error: mixing cloud and Secret Chat rules, assuming folders sync timers, or forgetting that Restrict Saving Content overrides disappear logic.
2. Auto-Delete Mechanics You Probably Misunderstand
2.1 Cloud Chats vs Secret Chats
Cloud chats use server-side garbage collection; Secret Chats use local stopwatch. A cloud timer can be retroactively applied to all future messages but never to history. Secret timer is fixed at message creation and can’t be extended.
2.2 Granularity Levels
Scope | Who Can Set | Minimal Step | Override by Admin |
|---|---|---|---|
Private cloud | Either user | 1 s | N/A |
Group | Admins ≥Set timer right | 1 h | Yes |
Channel comment | Channel owner | 24 h | Yes |
Secret Chat | Sender only | 1 s | No |
3. Platform-Specific Diagnosis Flowcharts
3.1 Android (10.12, API 34)
Long-press chat → ⋮ → Clear cache (not data) to purge
/Android/data/org.telegram.messenger/cache/autodelete_*blobs.Check Settings → Notifications → Background restriction; if “Restricted” appears, tap Allow.
Open Settings → Data & Storage → Proxy; MTProto-over-TLS proxies older than 5.0.2 drop timer sync packets—disable temporarily.
If the timer menu shows “Unavailable for this chat”, verify all members run ≥7.4: ⋯ → Manage group → Recent actions → Scroll to join event → version tag.
3.2 iOS (17.5, iPhone 15)
iOS 17.5 push bug delays timer start by ~10 min. Work-around: Settings → Telegram → Notifications → OFF → ON → Force-quit app. Repeat after each account switch.
If “Auto-delete will be applied to new messages” banner disappears, the local SQL mark is stale. Toggle airplane mode for 3 s to re-fetch
updateAutoDeleteSettings.Star payment region error indirectly blocks timer in Mini-App chats—set system language to English and disable VPN to pass StoreKit region check.
3.3 Desktop (Windows 10.12 x64 & macOS 14)
Stuck on “Updating…” prevents timer sync. Exit → delete
%appdata%\Telegram Desktop\tdata\updates(Windows) or~/Library/Group Containers/6N38VWS5BX.ru.keepcoder.Telegram/appstore/updates(macOS) → restart.Hardware H.264 encoding crash interrupts live chats and rolls back auto-delete. Disable via ⋯ → Advanced → Experimental → Hardware acceleration.
Linux snap package sandbox blocks DBUS timer signal. Install native
tar.xzbuild instead.
4. Hidden Menu Paths for Setting the Timer
Platform | Navigation | Shortcut |
|---|---|---|
Android | Chat → ⋮ → Auto-delete → select 1 s-1 year | Long-press send ► → clock icon |
iOS | Chat → contact name → ⋯ → Auto-Delete Messages | Force-press send ► → clock icon |
Desktop | Right-click chat → Auto-delete → slider | Ctrl+Shift+D |
Tip: If the slider is grey, expand the chat info panel first; Qt UI doesn’t enable the slider when sidebar width < 320 px.
5. Group vs Channel: Permission Matrix
A 2024灰度 test removed “Force comment” and quietly added can_set_auto_delete_time right. Check:
Edit admin rights → Tick “Delete messages of others” – prerequisite.
Enable “Manage chat” to reveal “Set auto-delete timer”.
Time range is clamped: groups 1 h–365 days, channels 24 h–365 days only.
Once set, members cannot override; only owners can remove.
6. Bot API & Mini-App Edge Cases
Bot-sent messages ignore group-level timer unless you attach allow_sending_without_reply=True and explicitly pass auto_delete_time in sendMessage. Mini-App HTML5 sessions inherit the chat timer on launch; if the user changes timer while the app is open, you must re-fetch window.Telegram.WebApp.chat.autoDeleteTimer via web_app_auto_delete_timer_changed event.
Developer note: As of Bot API 7.0, auto_delete_time accepts 0–2147483647 s; values < 30 s are rounded up to 30 s server-side to mitigate abuse.
7. EU DMA & Content Hold—Why 24 h Becomes 25 h
Under EU Digital Markets Act, Telegram tags “designated gatekeeper” content with a 1 h hold for audit. If your channel is marked “high-reach >45 M EU”, the auto-delete countdown starts only after the hold expires, effectively adding 1 h to any <24 h setting. You’ll see a banner “Deletion delayed by statutory hold”. No user action bypasses it; switching to Secret Chat removes the hold because those messages never touch gatekeeper infrastructure.
8. Recovery: Resurrecting a Stuck Timer Without Data Loss
Export chat JSON (⋯ → Export → JSON) before any fix—timer reset does not delete past messages but clears local index.
Toggle timer off → exit chat → swipe-kill app → restart → re-enable timer. This re-queues
messages.autoDeleteSettingssync.If still stuck, temporarily demote all admins to members, then promote back—forces a new
chatAdminRightspayload which includes timer bit.Desktop users: run
tdlib/db/sqlite3 td.binlog "VACUUM;"to purge corrupted timer cache.
9. Frequently Asked Questions (Based on 2024 Trending Issues)
9.1 Why does the timer work on mobile but not on desktop?
Desktop builds ≤10.11 shipped with a missing autoDeleteTime field in updateNewMessage. Update to 10.12 and clear tdata/updates.
9.2 View-Once 20 s clip disappeared immediately—bug?
No. View-Once is independent of auto-delete; it self-destructs after first watch or 20 s, whichever comes first. Do not rely on it for compliance logs.
9.3 Timer banner shows “Unavailable” in a 200 k group
Super-groups >100 k disable timer by default to reduce server load. Reduce members below 99 999 or migrate to a linked channel+comment group.
9.4 iOS notification previews reveal deleted messages
iOS push payload is sent before deletion. Disable previews: iOS Settings → Notifications → Telegram → Show Previews → When Unlocked.
9.5 Does Restrict Saving Content affect timer?
No direct impact, but enabling it triggers server-side re-encryption which can reset local cache. Always re-check timer after toggling.
10. Security Checklist Before You Trust the Timer
Verify E2E lock icon in Secret Chat; cloud chats are not E2E.
Confirm no linked devices are offline >30 days—outdated sessions keep messages.
Screen-record protection: Settings → Privacy → Passcode → Disable screenshots on Android; iOS uses system ScreenRecording overlay block.
Cloud backup extractors (SMS hijack, SIM swap) can fetch messages before deletion; enable 2-Step Verification and set cloud password distinct from device PIN.
11. Summary: One-Minute Fix List
Update every client to ≥10.12.
Clear cache (⋮ → Clear cache) and delete
tdata/updateson desktop.Ensure all members ≥7.4; demote/re-promote admins to refresh rights.
iOS 17.5: cycle notification permission; Android: disable outdated MTProto proxy.
Set timer again; export JSON backup first.
Follow the sequence above and 95 % of “Telegram auto-delete timer not working” reports resolve without data loss. For the remaining 5 %, collect debug logs (Settings → Advanced → Debug → Export logs) and open a GitHub issue on tdlib with autoDeleteSettings=missing tag.


