Podkovally
@Podkovally
Что это все обо мне, да обо мне

Как сделать, чтобы телеграм-бот не отвечал на групповые фото?

Есть бот, который отвечает на каждое фото/изображение, но если прислать сразу группу фото (скажем 5 шт), то бот возвращает сразу 5 ответов подряд. Как можно это пофиксить? Может есть функция какая, чтоб бот отвечал только каждые 2 секунды к примеру. Или параметр обработки для групповых фото может какой.

(pyTelegramBotAPI)

import telebot

@bot.message_handler(content_types=['text', 'photo', 'files'])
def give_photo(message):
    if message.content_type == 'photo':
        bot.send_message(message.chat.id, text="ОТВЕТ") 

if __name__ == '__main__':
     bot.infinity_polling()
  • Вопрос задан
  • 429 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Old_TyT
Можно по ключу в словаре(media_gropup_id)
Слева ответ на получение группы фото, справа на получение одного фото
614431a150956027363115.jpeg
Ответ написан
@rPman
Запоминай время последнего фото, и если текущее время и предыдущее отличаются меньше чем на секунду, все пропускать и не слать сообщение
Ответ написан
Комментировать
@robprane
Даже ориентироваться на media_group_id будет недостаточным, потому что пользователь может не сгруппировать фотографии, либо отправить файлы разных типов, в таком случае они так или иначе не сгруппируются. Надо переделываать логику бота с учетом того, что от пользователя в любой момент может придти несколько файлов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы