Please refer to @expectocode's
telegram-export from now on.
You can still read the old
README below, but this project is broken and I don't plan on fixing it.
Telebackup is the original purpose for which Telethon was made. The application's main purpose is to backup any conversation from Telegram, and save them in your disk.
Please note that a lot needs to be done! This application also requires the
telethon module, installable via
This application also has the exact same setup as
settings and fill in your values).
You need the following Python packages in order for Telebackup to work:
In case you encounter the error "ImportError: No module named 'PIL'", you may need to reinstall
Please note that this program will not update those messages which were edited (as of now)! This is, after you backup a conversation, if you edit messages which were included in the backup, they will not be updated. This, however, should be no issue.
Also, Firefox does not support
.webp files, which is the stickers' format.
You shall consider using another web browser, such as Chromium
(at least when viewing the backups), which can display these files.
Every dialog (let it be an user, a chat, or a channel) is stored in its own database (SQLite). This database includes all the users and channels who have participated in it, and all the messages related to that dialog. This means that you will do get duplicates if, for example, an user talked in two chats; however, this highly simplifies everything, by not adding another unique database for users, chats and channels, which multiple threads may need access to.
Some parts of these messages are saved as blobs, such as the lists of entities in a message (i.e., when you talk via @bold) or message media (which can be a document, a photo...). Creating tables for these would absolutely be crazy, because there are many different types. Instead, they're saved as blobs and the media constructor ID as a separate column, so you can still query for which messages have a photo, and which have a document.