Как получить список диалогов с папки Телеграм в Telethon?
Нужное название получить могу, id папки. Как получить список диалогов с этой папки, или как сравнить есть ли этот диалог в этой папке?
result = await client(GetDialogFiltersRequest())
folders = result.filters
folder_name = 'SP'
folder_id = None
if folders:
for folder in folders:
if isinstance(folder, DialogFilter):
if folder.title == folder_name:
folder_id = folder.id
print(folder.title)
Ответы (1 шт):
Автор решения: Katsu
→ Ссылка
Так работает (нужно было поспать):
# Получаем список папок
result = await client(GetDialogFiltersRequest())
folders = result.filters
folder_name = 'SP'
peer_ids = []
# Находим нужную папку по названию
if folders:
for folder in folders:
if isinstance(folder, DialogFilter):
if folder.title == folder_name:
print(folder)
for peer in folder.include_peers:
if isinstance(peer, InputPeerChat):
peer_ids.append(peer.chat_id)
elif isinstance(peer, InputPeerChannel):
peer_ids.append(peer.channel_id)
elif isinstance(peer, InputPeerUser):
peer_ids.append(peer.user_id)
print(peer_ids)
# Проверяем, что peer_ids не пустой
if peer_ids:
await send_message_with_photo_to_groups(client, peer_ids)
else:
print(f"Папка с названием '{folder_name}' не найдена или в ней нет включенных чатов.")