Как получить список всех контактов у человека через telethon python?
Как я знаю можно спарсить участников группы.
Но про контакты ничего не пишет, если контакты нельзя как тогда спарсить все переписки?
И потом в них запустить рассылку.
Ответы (1 шт):
Автор решения: Aleksandr Fetisov
→ Ссылка
Можно воспользоваться методом iter_dialogs() примерно будет так:
from telethon import TelegramClient, sync
from telethon.tl.types import InputPeerUser
# установка параметров API
api_id = YOUR_API_ID
api_hash = 'YOUR_API_HASH'
phone = 'YOUR_PHONE_NUMBER'
# создание объекта клиента
client = TelegramClient('my_session', api_id, api_hash)
# авторизация клиента
client.connect()
if not client.is_user_authorized():
client.send_code_request(phone)
client.sign_in(phone, input('Enter the code: '))
# получение списка всех диалогов пользователя
dialogs = client.iter_dialogs()
# проход по всем диалогам
for dialog in dialogs:
# проверка, является ли текущий диалог чатом
if not isinstance(dialog.entity, InputPeerUser):
continue
# получение всех контактов в текущем диалоге
contacts = client.loop.run_until_complete(client.get_participants(dialog.entity))
for contact in contacts:
print(contact.first_name, contact.last_name, contact.phone)