Чтобы использовать библиотеку `Telethon` для приема только сообщений, содержащих изображения, вам нужно добавить логику фильтрации в обработчик событий `events.NewMessage`. Проверьте, содержит ли каждое входящее сообщение медиа-объект, и если да, то является ли этот объект изображением.
Пример обновленного кода, который принимает только сообщения с изображениями:
```python
from telethon import TelegramClient, events, utils
# Настройте свои учетные данные (подставьте свои значения API ID и API Hash)
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
# Создаем клиента с помощью учетных данных
client = TelegramClient('session_name', api_id, api_hash)
@client.on(events.NewMessage(chats=[id], incoming=True))
async def handler(event):
# Проверяем, есть ли медиа в сообщении
if event.message.media:
# Проверяем, является ли медиа изображением
if event.message.photo:
# Изображение обнаружено, обработать сообщение
print("Получено изображение!")
# Вы можете сделать что-то с изображением здесь
else:
# Медиа найдено, но это не изображение, игнорируем сообщение
print("Получено медиа, но это не изображение.")
else:
# Медиа в сообщении нет, игнорируем сообщение
print("Получено сообщение без медиа.")
# Запускаем бесконечный цикл, чтобы клиент оставался в работе
client.start()
client.run_until_disconnected()
```
Здесь используется атрибут `message.photo` для проверки, является ли медиа в сообщении изображением.
Обратите внимание, что для работы с Telethon вам нужно иметь действующий API ID и API Hash от Telegram, которые вы получаете при регистрации вашего приложения на сайте Telegram.
Также проверьте, что у вас стоит корректный ID чата в переменной `id` (который должен быть целым числом или списком с целыми числами), и что вы разрешили своему приложению (юзерботу) прослушивать сообщения в этих чатах.
Убедитесь, что вы запускаете скрипт в безопасном и законном контексте, соблюдая правила Telegram и не нарушая частную жизнь пользователей.