is a tool for exporting Telegram group chats into static websites, preserving the chat history like mailing list archives.
tg-archive is a tool for exporting Telegram group chats into static websites, preserving chat history like mailing list archives.
The @fossunited Telegram group archive.
How it works
tg-archive uses the Telethon Telegram API client to periodically sync messages from a group to a local SQLite database (file), downloading only new messages since the last sync. It then generates a static archive website of messages to be published anywhere.
- Periodically sync Telegram group messages to a local DB.
- Download user avatars locally.
- Download and embed media (files, documents, photos).
- Renders poll results.
- Use emoji alternatives in place of stickers.
- Single file Jinja HTML template for generating the static site.
- Year / Month / Day indexes with deep linking across pages.
- "In reply to" on replies with links to parent messages across pages.
- RSS / Atom feed of recent messages.
- Get Telegram API credentials. Normal user account API and not the Bot API.
- Install with
pip3 install tg-archive(tested with Python 3.8.6).
tg-archive --new --path=mysite(creates a new site.
cdinto mysite and edit
tg-archive --sync(syncs data into
data.sqlite). Note: First time connection will prompt for your phone number + a Telegram auth code sent to the app. On successful auth, a
session.sessionfile is created. DO NOT SHARE this session file publicly as it contains the API autorization for your account.
tg-archive --build(builds the static site into the
sitedirectory, which can be published)
Edit the generated
template.html and static assets in the
./static directory to customize the site.
- The sync can be stopped (Ctrl+C) any time to be resumed later.
- Setup a cron job to periodically sync messages and re-publish the archive.
- Downloading large media files and long message history from large groups continuously may run into Telegram API's rate limits. Watch the debug output.
Licensed under the MIT license.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.