Перейти к содержимому
Документация
Автоматизация (Режимы)

Конвертер сессий

Пакетная конвертация файлов сессий между форматами Telethon, Pyrogram, TData и TData (Android) — работа только с файлами на диске, без запуска аккаунтов.

Конвертер сессий переводит файлы сессий из одного формата в другой: .session от Telethon или Pyrogram, папку tdata от Telegram Desktop, выгрузку с Android. Аккаунт для запуска не нужен — режим стартует до старта сессии, как Авторегистрация и Редактор сообщений, и работает исключительно с файлами.

Нужен он, когда формат покупки не совпадает с форматом инструмента: купили tdata, а во вкладку с аккаунтами нужен .session; или наоборот — есть готовые сессии, а завести их надо в Telegram Desktop.

Что настроить

Четыре поля читаются как одно предложение: взять эти файлы в таком формате, превратить в такой формат и положить сюда.

ПолеПо умолчаниюНазначение
Исходный форматTelethon (.session)В каком виде лежат сессии сейчас
Файлы источникаСами файлы или папки сессий; можно выбрать сразу пачку. Обязательное поле
Целевой форматTDataВо что переводить
Папка выводаКуда складывать результат. Обязательное поле

У первых двух полей нет переведённых подписей — ищите их по порядку: переключатель исходного формата идёт первым, поле выбора файлов сразу за ним.

Форматы и как они соотносятся

В обоих списках — исходном и целевом — одни и те же четыре варианта. Внутри они сводятся к трём типам данных, и именно тип определяет, как читается и пишется файл.

Вариант в спискеВнутренний типЧто это
Telethon (.session)sessionФайл сессии библиотеки Telethon
Pyrogram (.session)sessionФайл сессии библиотеки Pyrogram
Tdata (Desktop)tdataПапка данных Telegram Desktop
Tdata (Android)datВыгрузка с устройства Android (.dat)

Telethon и Pyrogram сводятся к одному и тому же внутреннему типу session. Практический вывод: перевод «Telethon → Pyrogram» на уровне конвертера — это session → session, то есть пересборка файла сессии, а не смена библиотечного формата.

Разрешена любая комбинация из девяти пар типов. Единственное исключение — совпадение исходного и целевого формата: такой файл конвертироваться не будет.

Метаданные из соседнего JSON

Если рядом с исходником лежит одноимённый .json — например 12345.session и 12345.json или 12345.dat и 12345.json — Multogram подхватывает его автоматически и переносит метаданные аккаунта (параметры приложения, устройства, номер) в результат. Файла нет — конвертация всё равно пройдёт, но уже без этих данных, на значениях по умолчанию.

Поиск такого JSON выполняется для исходников типов session и dat. Для источника Tdata (Desktop) сопутствующий файл не ищется — метаданные берутся из самой папки tdata.

Как проходит конвертация

Захват файла. Из списка источников берётся случайный файл и сразу удаляется из него, чтобы соседний поток не взял тот же самый.

Определение типов. Исходный и целевой форматы сводятся к внутренним типам session / tdata / dat.

Проверка на совпадение. Если форматы одинаковые, файл пропускается с предупреждением в логе — обратно в список он не возвращается.

Поиск метаданных. Рядом с исходником ищется одноимённый .json; найден — используется, нет — конвертация идёт без него.

Конвертация. Файл пересобирается в целевой формат и пишется в папку вывода. Успех и путь к результату попадают в лог, ошибка — тоже, с текстом причины.

Цикл повторяется, пока в списке остаются файлы. Когда список опустел, поток пишет в лог, что все исходники обработаны, и завершается.

Несколько потоков делят одну пачку, а не обрабатывают её каждый целиком: десять файлов на трёх потоках — это те же десять конвертаций, просто быстрее. Ошибка на одном файле изолирована и не останавливает остальные — она уходит в обработчик ошибок, а поток берёт следующий файл.

Ограничения

  • Формат один на весь список. Исходный формат задаётся глобально, поэтому смешивать в одной пачке .session и tdata нельзя — разложите их по разным прогонам.
  • Файлы расходуются. Захваченный файл вычёркивается из списка источников независимо от исхода: и при успехе, и при ошибке, и при пропуске из-за совпадения форматов. Чтобы повторить прогон, выберите файлы заново.
  • Совпадающие форматы бессмысленны. Выбор одного и того же формата слева и справа даст только предупреждения в логе и пустую папку вывода.
  • Неверно указанный исходный формат. Файл читается не тем парсером и конвертация падает — это самая частая причина ошибок в этом режиме.
  • Параметры клиента фиксированы. Языковые параметры результата задаются конвертером и в интерфейсе не настраиваются; всё, что можно перенести из источника, переносится через соседний JSON.
  • Валидность аккаунта не проверяется. Конвертер не выходит в Telegram: забаненная сессия сконвертируется так же успешно, как живая. Проверять аккаунты нужно отдельно.

Рекомендации

  • Прогоните сначала один файл. Так вы убедитесь, что формат указан верно и результат открывается тем клиентом, ради которого затевалась конвертация.
  • Держите JSON рядом с сессией. Пара имя.session + имя.json даёт на выходе аккаунт с сохранёнными параметрами устройства — без неё результат «обезличен».
  • Отдельная папка вывода под каждый прогон. Смешивать результаты разных конвертаций в одной папке неудобно, а при одинаковых именах файлов — ещё и опасно.
  • Копия исходников. Работайте с копией пачки: список источников после прогона окажется пустым, и восстанавливать выборку придётся руками.

Конвертация не делает аккаунт безопасным

Перевод в tdata не «обновляет» и не «чистит» аккаунт: это тот же самый аккаунт, с той же историей и теми же ограничениями. Если сессия уже под лимитами Telegram, после конвертации она останется под ними — сменится только формат файла.