Конвертер сессий
Пакетная конвертация файлов сессий между форматами 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, после конвертации она останется под
ними — сменится только формат файла.
Парсинг
Сбор данных из Telegram: история сообщений, поток новых сообщений или список участников группы — с фильтрами и выгрузкой в CSV, XLSX, JSON или SQLite.
Приватность
Массовая простановка настроек приватности Telegram у пула аккаунтов: шесть независимых параметров, каждый со своим флажком и значением.