Перейти до вмісту

Експорт чату ​

Telegram Desktop: відкрийте чат, натисніть ⋯ у правому верхньому куті, оберіть Експорт історії чату…, потім Експорт

Telegram ​

У Telegram Desktop (macOS, Windows, Linux): відкрийте чат → ⋯ → Експорт історії чату… → Експорт.

  • Залиште увімкненими фото, відео, голосові, стікери і GIF: персонаж їх використовує.
  • Працюють обидва формати: HTML (messages.html) і машинно-читабельний JSON (result.json).
  • Перетягніть папку експорту або її .zip на сторінку.

WhatsApp ​

На телефоні: відкрийте чат → ⋮ → Більше → Експорт чату (iPhone: торкніться імені контакту → Експорт чату) → Додати медіа. Надішліть .zip на комп'ютер і перетягніть його на сторінку.

Чат, експортований без медіа, — це один .txt, і він теж працює.

Великі експорти ​

Експорти з понад 100 000 повідомлень і багатьма гігабайтами працюють так само: перетягніть папку. Сторінка показує, що відбувається:

  1. Читання папки… рахує файли (браузеру може знадобитися час, щоб перелічити десятки тисяч).
  2. Спочатку чат. Сторінки повідомлень (або result.json, або .txt WhatsApp) завантажуються і читаються до медіа. Якщо цей експорт уже імпортовано, імпорт завершується тут і відкриває його, і медіа не завантажуються. Якщо медіа не вміщаються на диск, вам повідомлять, скільки місця потрібно, перш ніж надсилати щось велике.
  3. Завантаження 1,2 ГБ з 3,4 ГБ (35 %) · 9 000 з 30 905 файлів: медіа йдуть невеликими пакетами, один за одним. Браузер ніколи не створює один величезний запит, а перерваний пакет повторюється окремо. Обмеження розміру немає, коли ви запускаєте це на власному комп'ютері.
  4. Читання повідомлень: сторінка 37 з 121 · 36 000 повідомлень: усі сторінки читаються один раз, паралельно.
  5. Перевірка медіа і Переміщення медіа: файли хешуються, щоб знайти дублікати, і переміщуються (не копіюються двічі) в папку даних.
  6. Збереження, після чого відкривається вікно Новий чат.

Одночасно працює лише один імпорт; помилка залишається видимою в зоні перетягування, і ви можете знову обрати папку.

У настільному застосунку цього завантаження не відбувається: застосунок читає папку, .zip або .txt звідти, де вони лежать (кроки 4–6), що швидше і не зазнає проблем браузера нижче.

Коли файл не можна завантажити (браузер)

Файл, який браузер більше не може прочитати (переміщений, змінений або заповнювач iCloud/OneDrive, який не завантажено), виявляється і пропускається, як і один файл, що постійно ламає свій пакет: пакет ділиться, доки цей файл не буде ізольовано. Пропущені медіа в чаті відображаються як відсутні; повідомлення після імпорту називає один з них, а консоль браузера перелічує всі. Коли сам файл чату не можна надіслати, імпорт зупиняється і називає його. Помилки показують, що отримав сервер, наприклад сервер отримав 1 200 з 4 096 байтів, тож проблему з'єднання легко відрізнити від проблеми браузера.

Під час імпорту нічого не залишає ваш комп'ютер і жодна модель не викликається. Медіа описуються лише тоді, коли ви натискаєте Описати в медіатеці.

З rooftop --import <папка> папка читається на місці, а її файли копіюються, ніколи не переміщуються; хід роботи записується в журнал. Для величезного експорту на тому самому комп'ютері це найшвидший шлях: без завантаження і без другої копії в тимчасовій папці.

Що розпізнається ​

ДжерелоФайли
Telegram HTMLmessages.html, messages2.html, …
Telegram JSONresult.json (використовується, коли в папці немає messages.html)
WhatsAppWhatsApp Chat with <назва>.txt (Android) або _chat.txt (iOS), у папці, .zip або окремо
  • Telegram: текст з переносами рядків, посилання, цитати і код; відповіді і часткові цитати; пересилання; редагування; службові повідомлення; реакції; попередній перегляд посилань; фото, відео, кругле відео, голосове, аудіо, файл, стікер (.webp, .webm, .tgs), GIF, геопозиція, контакт, опитування і дзвінок.
  • WhatsApp: макети Android і iOS, 12- і 24-годинні годинники та обидва порядки день/місяць, визначаються для кожного файлу. Багаторядкові повідомлення, редагування і вкладення зберігаються. Видалені повідомлення і повідомлення про шифрування пропускаються, а <Media omitted> позначається як недоступне.

Медіафайли хешуються, тож стікер, надісланий п'ять разів, стає одним елементом бібліотеки (stk_…, gif_…, pho_…).

Реакції в HTML-експортах

HTML-експорти не кажуть, хто відреагував. В особистих чатах реакція приписується іншому учаснику, а обом — якщо кількість дорівнює 2.

Поширюється за ліцензією MIT.