Приветствую. В данной статье мы ознакомимся с форматами tdata и session+json, а также поймём как грамотно конвертировать аккаунты, что значит пара и какие они существуют. У каждого аккаунта есть, так называемая, “сессия” и она привязана в девайсу (устройству — телефон, планшет, ноутбук, компьютер, приложение и так далее). С компьютера они выглядят так И при одновременном заходе (такое возможно только с компьютера и с tdata) может вылететь сессия. То есть сессия просто удалится и отобразится ошибка, если останется доступ к первоначальной (мобильной) сессии — аккаунты получится восстановить, поэтому для каждого устройства (новый пк) рекомендуется создавать новую сессию и использовать именно её, это также касается софтов — для одновременного инвайтинга и рассылки потребуется две отдельные сессии и запуск с двух копий софта двух разных друг от друга не зависящих задачах. Рассмотрим tdata Стоит отметить, что tdata это лишь формат компьютерной версии телеграма, Telegram Desktop = 2040 пара в файле “*.json”, а пары 4 и 6 — мобильные, их не рекомендую конвертировать в тдату, так как по умолчанию с телефона это не возможно. Как открыть Telegram tdata youtube.com/watch?v=8JG0p-b_Hho. Перемещаем папку tdata вместе с клиентом телеграм в одну папку. Клиентом телеграм может быть desktop.telegram.org портативная версия. Или 64gram (альтернативную версию Telegram), https://t.me/tg_x64 , которая позволяет просматрирвать Message ID (какое по счёту отправленное сообщение, чтобы понимать были удалены диалоги на аккаунте или нет), а также авторизовывать более 3 учётных записей (что круто, для дальнейшей мульти-авторизации в Telegram-клиент). Рассмотрим json Большинство софтов работает на telethon библиотеке и используют файлы в формате session+json (где session — содержит уникальный токен аккаунта, а json — параметры для софта). Стоит учесть, что поле может быть “null” или просто пустые кавычки — это значит нет информации о какой-то части аккаунта, как правила в каждом софте свои значения, и это лишь пример. Как открыть json Открывается с помощью обычного блокнота или notepad’а. Как работать с аккаунтами в формате “*.json” на примере софта Telegram Expert — youtube.com/watch?v=dRMn3s5sKmw. Пример файла {"session_file": "6289527551203", "phone": "6289527551203", "register_time": 1688160275, "app_id": 2040, "app_hash": "b18441a1ff607e10a989891a5462e627", "sdk": "Windows 8.1", "app_version": "4.8.3 x64", "device": "Latitude 7420", "last_check_time": 1688160275, "avatar": "img/default.png", "first_name": "\u0414\u043c\u0438\u0442\u0440\u0438\u0439", "last_name": "\u0424\u0435\u0434\u043e\u0440\u043e\u0432", "username": "None", "sex": "0", "lang_pack": "en", "system_lang_pack": "en-US", "proxy": null, "ipv6": false, "twoFA": ""} Подробнее о каждом поле 1) session_file — путь к session (к токену аккаунта); 2) phone — номер телефона (отображение софте); 3) register_time — дата регистрации с помощью сервиса “Онлайн Unix time конвертер” можно перевести в обычное время и понять, что аккаунт зарегистрирован 7 апреля 2022 года; 4) app_id как и app_hash пишутся обычно вместе 6:eb06d4abfb49dc3eeb1aeb98ae0f581e — это пара андройд; 5) sdk — версия устройства; 6) app_version — версия приложения; 7) device — устройство; 8) last_check_time и time— последняя проверка аккаунта, avatar — есть ли аватарка, first_name — имя, last_name — фамилия, username — юзернейм; 9) lang_pack — основной язык; 10) system_lang_pack — язык системы; 11) proxy — информация о ****** (в формате айпи:порт:логин:пароль) 12) twoFA — 2фа код от аккаунта. Рассмотрим session Если открыть как таблицу — не получится посмотреть информацию, открывать необходимо SQLite format 3 Который можно посмотреть через SqlLiteStudio, скачать можно здесь sqlitestudio.pl. Регистрация аккаунтов Возможна только на телефон в формате session+json, как это сделать подробнее можно узнать здесь zelenka.guru/threads/5475479. Конвертация аккаунтов Можно также конвертировать, ссылка на конвертер — zelenka.guru/threads/551997. Если будут вопросы, то задавайте их мне в ЛС. Благодарю за внимание, хорошего настроения и продуктивного профитного дня!
через библиотеку python Opentele все конвертируется без проблем from opentele.td import TDesktop from opentele.tl import TelegramClient from opentele.api import API, UseCurrentSession import asyncio async def main(): # Load the client from telethon.session file # We don't need to specify api, api_id or api_hash, it will use TelegramDesktop API by default. client = TelegramClient("telethon.session") # flag=UseCurrentSession # # Convert Telethon to TDesktop using the current session. tdesk = await client.ToTDesktop(flag=UseCurrentSession) # Save the session to a folder named "tdata" tdesk.SaveTData("tdata") asyncio.run(main()) Python from opentele.td import TDesktop from opentele.tl import TelegramClient from opentele.api import API, UseCurrentSession import asyncio async def main(): # Load the client from telethon.session file # We don't need to specify api, api_id or api_hash, it will use TelegramDesktop API by default. client = TelegramClient("telethon.session") # flag=UseCurrentSession # # Convert Telethon to TDesktop using the current session. tdesk = await client.ToTDesktop(flag=UseCurrentSession) # Save the session to a folder named "tdata" tdesk.SaveTData("tdata") asyncio.run(main())
Powerlord, Класс TDesktop, представляющий Telegram Desktop клиент. Этот класс позволяет работать с аккаунтами и сессиями Telegram Desktop. Давайте разберем атрибуты и методы этого класса: Атрибуты: api: Содержит объект API, который используется этим клиентом. accountsCount: Количество аккаунтов в этом клиенте. accounts: Список аккаунтов в этом клиенте. mainAccount: Основной аккаунт этого клиента. basePath: Путь к папке tdata, связанной с этим клиентом. passcode: Пароль для клиента, используется для шифрования и дешифрования файлов tdata. AppVersion: Версия приложения клиента. kMaxAccounts: Константа, которая вероятно указывает на максимальное количество аккаунтов для клиента. keyFile: Путь к файлу ключа. kDefaultKeyFile: Значение по умолчанию для keyFile. kPerformanceMode: Константа, связанная с режимом производительности. Методы: LoadTData(): Загружает клиента из папки tdata. Используйте этот метод, если вы не указали basePath при инициализации клиента. SaveTData(): Сохраняет сессию клиента в папке tdata, которая может быть использована Telegram Desktop. isLoaded(): Возвращает True, если клиент успешно загрузил аккаунты из tdata или из TelegramClient. ToTelethon(): Преобразует эту сессию в TelegramClient. FromTelethon(): Создает новую сессию из TelegramClient. PerformanceMode(): Включает/отключает режим производительности. Когда он включен, SaveTData() будет работать в 5000 раз быстрее. Этот класс предоставляет удобные методы для работы с сессиями Telegram Desktop, и он также имеет встроенные механизмы для преобразования сессий в формат, который можно использовать с библиотекой Telethon, и наоборот. Это может быть полезно, если вы хотите работать с сессиями на обеих платформах.