Т.к. не нашел ни одного решения в вопросе сохранения ваших ТГ каналов, чатов и контактов.
Пришлось (как всегда) делать все самому.
Суть - сохраняет ваши контакты, группы, чаты в файл.
Так же OFFLINE VERSION /threads/79540/
Онлайн версия - получает информацию с серверов ТГ напрямую
Результат будет примерно таким
Пришлось (как всегда) делать все самому.
Суть - сохраняет ваши контакты, группы, чаты в файл.
Так же OFFLINE VERSION /threads/79540/
Онлайн версия - получает информацию с серверов ТГ напрямую
Python:
# зависимости
pip install telethon
pip install async_timeout
Python:
from telethon.sync import TelegramClient
from telethon.tl import types
import socks
API_ID = 1234567
API_HASH = 'abcdef0123456789'
SESSION_NAME = 'session_name'
PROXY = (socks.SOCKS5, '127.0.0.1', 9150)
# Если НЕ нужен прокси, то удалить ", proxy=PROXY"
def session():
return TelegramClient(SESSION_NAME, api_id=API_ID, api_hash=API_HASH, proxy=PROXY)
with open(f'TG_{SESSION_NAME}_export.csv', 'a+', encoding='utf-8') as sf:
with session() as client:
res = client.iter_dialogs()
sf.write('id\tname\ttype\tusername\tcount\n')
for i in res:
result = f'{i.id}\t{i.name}'
# debug
info = i.stringify()
info_type = type(i.entity)
# Проверяем типы. Группа, чат или контакт
if info_type == types.Chat:
result += '\tChat'
elif info_type == types.Channel:
result += '\tChannel'
elif info_type == types.User:
result += '\tUser'
result += f'\t{i.entity.username}' if 'username' in info else '\tNone'
result += f'\t{i.entity.participants_count}' if 'participants_count' in info else '\tNone'
print(result)
sf.write(result + '\n')
Результат будет примерно таким
Код:
id name type username count
-1001286236329 Утечки информации Channel dataleak 108676
-1001452559011 Data1eaks | Утечки баз данных Channel data1eaks 43886