Как настроить группировку фотографий, когда пользователь отправляет их?

Здравствуйте! У меня есть проблема с отправкой фотографий пользователям через echo-бот. Когда пользователь отправляет несколько фотографий в одном сообщении, в массиве message.photos сохраняются дубликаты одной и той же фотографии в разных размерах. Я попытался использовать код, который был предложен в ChatGPT, но он также некорректно работает. Можете ли вы подсказать, как решить эту проблему и отправить фотографии администраторам без дублирования?
  • 22 сентября 2023 г. 11:37
Ответы на вопрос 1
Проблема с сохранением дубликатов фотографий в разных размерах в массиве `message.photos` может быть преодолена путем идентификации уникальных фотографий на основе их идентификаторов.

Вот пример кода на языке Python, который позволит вам отправлять фотографии администраторам без дублирования:

```python
import telebot

bot = telebot.TeleBot('YOUR_BOT_TOKEN')

photos_cache = {}  # Словарь для хранения уникальных фотографий

@bot.message_handler(content_types=['photo'])
def handle_photos(message):
    for photo in message.photo:
        if photo.file_id not in photos_cache:  # Проверяем, есть ли фотография в кеше
            # Сохраняем фотографию в кеше
            photos_cache[photo.file_id] = photo
            # Отправляем фотографию администраторам
            bot.send_photo(admin_chat_id, photo.file_id)

bot.polling()
```

В этом примере мы используем словарь `photos_cache`, чтобы хранить только уникальные фотографии. При получении каждой фотографии мы проверяем, есть ли уже фотография с таким идентификатором (`photo.file_id`) в кеше. Если нет, то мы сохраняем фотографию в кеше и отправляем ее администраторам с помощью `bot.send_photo(admin_chat_id, photo.file_id)`.

Помните, что вы должны указать свой токен бота в строке `bot = telebot.TeleBot('YOUR_BOT_TOKEN')` и установить переменную `admin_chat_id` с идентификатором чата администратора, чтобы фотографии отправлялись нужным адресатам.

Надеюсь, это поможет вам решить проблему с дублированием фотографий при отправке через echo-бот.
Похожие вопросы