Как получить список всех контактов у человека через telethon python?

Рейтинг: 1Ответов: 1Опубликовано: 17.02.2023

Как я знаю можно спарсить участников группы.

Но про контакты ничего не пишет, если контакты нельзя как тогда спарсить все переписки?

И потом в них запустить рассылку.

Ответы

▲ 0

Можно воспользоваться методом 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)