generated from exteraGramPlugins/pluginBase
Publish plugin / publish (push) Successful in 6s
- Hidden deleted messages are marked on the server (local marks migrated); "Reveal hidden messages" in the chat menu, Unhide in the message menu and the selection bar. - Chats an account lost are reported, listed among its chats again and opened read-only with their logged messages, all deleted. - Logged chat photos: a removed chat's avatar, and in a chat's photos the ones it no longer has, translucent with a trash icon in the viewer's previews. - Fix: the deleted-post comments thread is answered locally again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
72 lines
4.2 KiB
Markdown
72 lines
4.2 KiB
Markdown
<p align="center">
|
|
<img src="images/icon.svg" width="128" height="128" alt="Message Logger icon">
|
|
</p>
|
|
|
|
<h1 align="center">Message Logger</h1>
|
|
|
|
**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 hidden, so it isn't restored from the
|
|
logger. Deleting a message that is already deleted shows a plain dialog that hides it.
|
|
- **Hidden messages.** Hidden deleted messages are marked on the server, so every client
|
|
skips them. *Reveal hidden messages* in the chat's menu (Plugins) brings them back until
|
|
tapped again; a revealed one has *Unhide* in its menu, and selecting several shows an
|
|
Unhide button in the selection bar.
|
|
- **Removed chats.** Chats an account lost (left, kicked, deleted by you or the other side)
|
|
stay in the chat list with their logged messages, read-only and all marked deleted, until
|
|
the chat is back. Chats you delete yourself aren't listed; deleting a listed one hides it.
|
|
*Show removed chats* in the settings turns this off.
|
|
- **Old chat photos.** Chat photo changes are posted into the chat's log topic. A removed chat
|
|
shows its latest logged photo, and a chat's photos also list the logged ones it no longer
|
|
has: translucent, with a trash icon, in the photo viewer's previews.
|
|
- **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. Hidden messages 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
|