Как отправить альбом с помощью Telethon?

Как передать альбом из одного чата в другой с помощью Telethon?
  • 24 августа 2024 г. 3:54
Ответы на вопрос 2
Для отправки альбома с помощью Telethon, вы можете использовать метод `send_album` объекта `TelegramClient`. Например, если у вас есть альбом из трех фотографий, вы можете отправить его следующим образом:

```python
from telethon import TelegramClient

api_id = 'your_api_id'
api_hash = 'your_api_hash'
phone_number = 'your_phone_number'

client = TelegramClient('session_name', api_id, api_hash)

async def send_album():
    chat_id = 'target_chat_id'
    album = ['/path_to_photo1.jpg', '/path_to_photo2.jpg', '/path_to_photo3.jpg']
    
    await client.send_album(chat_id, photos=album)

with client:
    client.loop.run_until_complete(send_album())
```

Чтобы передать альбом из одного чата в другой, вам необходимо сначала скачать фотографии из альбома методом `download_media` объекта `Message`. Затем вы можете отправить эти фотографии в другой чат методом `send_file`. Например:

```python
from telethon import TelegramClient

api_id = 'your_api_id'
api_hash = 'your_api_hash'
phone_number = 'your_phone_number'

client = TelegramClient('session_name', api_id, api_hash)

async def transfer_album():
    from_chat_id = 'source_chat_id'
    to_chat_id = 'destination_chat_id'
    
    messages = await client.get_messages(from_chat_id)
    
    album = []
    for message in messages:
        if message.photo:
            photo_path = await client.download_media(message.photo, file='photos/')
            album.append(photo_path)
    
    for photo in album:
        await client.send_file(to_chat_id, file=photo)

with client:
    client.loop.run_until_complete(transfer_album())
```

Убедитесь, что у вас есть необходимые права на отправку фотографий в целевой чат.
Здравствуйте! 

Попробуйте создать событие Album и с ним уже работать.

Ссылка на документацию:
https://docs.telethon.dev/en/stable/modules/events...

Ссылка на похожий вопрос:
https://stackoverflow.com/questions/71440069/forwa...
Похожие вопросы