Message Logger
**TL;DR:** an [exteraGram](https://exteragram.app) plugin that keeps deleted messages in
your chats and shows the edit history of edited ones, using what your
[telegram-panel](../../telegram-panel) message logger saved.
## Description
Message Logger connects exteraGram to a telegram-panel message logger and shows its data
natively in chats. Messages other people delete stay visible, edited messages get a full
edit history, and comments of deleted channel posts can still be opened. Marks are cached on
the device, so a chat opened again, even offline, shows them at once.
## Features
- **Deleted messages stay.** Messages others delete remain in the chat at 75% opacity with a
red trash icon (from the active icon pack) in the time row. Messages deleted while the app
was closed are confirmed with Telegram and restored from the logger copy.
- **Keep your own deletions.** The delete dialog gets a *Keep message for myself* checkbox: ticked,
the deletion goes to Telegram but the message stays on this device, marked deleted.
Unticked (the default), it is deleted as usual and never restored from the logger here.
Deleting a message that is already deleted shows a plain dialog that removes it from view
on this device only.
- **Edit history.** *Edit history* in the message menu (right above Forward, for edited
messages) opens every version as a mock chat, also for the logger groups' own posts, with
an *Open topic* button for the history topic in the activity group.
- **Comments of deleted channel posts.** The comments button of a deleted post opens the
app's own comments section for it (avatars, names, replies, media), filled from the logged
comments.
- **Links into chats you're not in.** Message links into a chat the current account isn't
in (e.g. a log post's "Message" link) open that chat as a signed-in account that is in it;
going back returns to your account.
- **Reset marks.** *Reset deleted/edited marks* in the chat's menu (Plugins) forgets that
chat's cached marks and checks it with the server again; the same row in the plugin
settings does it for every chat. Messages you removed from view stay hidden.
- **Cache lifetime.** Cached answers are kept for 1, 7, 30, 90 or 365 days, or forever
(30 by default).
The account reading the logged copies must be a member of the logger and activity groups.
## Setup
1. In the panel, create a token per master, the account owning the logger groups
(Settings → API Tokens). Any Telegram account can use a token.
2. In the plugin settings, enter the panel URL and the tokens (separated by spaces).
3. Tap *Test connection*.
For diagnostics, see the gotchas section of [docs/sdk-notes.md](docs/sdk-notes.md).
## Documentation
- [How Message Logger works](docs/how-it-works.md): server sync and the local cache
- [Development](docs/development.md): getting started, repo layout, building and verifying, icon export
- [How exteraGram plugins work](docs/how-plugins-work.md): the plugin format and lifecycle
- [Device setup and ADB automation](docs/device-and-adb.md): deploy, watch, logs, debugger
- [Versioning and releases](docs/versioning-and-releases.md): git hooks, auto-bump, CI publishing
- [SDK notes](docs/sdk-notes.md): condensed exteraGram SDK API surface