Как сохранить неколько фото от пользователя
пишу бота в телеграме с помощью telebot. При отправке пользователем нескольких фото в одном сообщении бот сохраняет только первое, как реализовать сохранение всех фото?
Ответы (1 шт):
Автор решения: virsi
→ Ссылка
Думаю можно попробовать так:
@bot.message_handler(content_types=['photo'])
def handle_docs_photo(message):
try:
chat_id = message.chat.id
file_info_1 = bot.get_file(message.photo[-1].file_id)
bot.send_message(message.chat.id, file_info_1)
downloaded_file = bot.download_file(file_info_1.file_path)
src = dir + '\\' + file_info_1.file_path.split('/')[-1]
bot.send_message(message.chat.id, src)
with open(src, 'wb') as new_file:
new_file.write(downloaded_file)
except Exception as e:
bot.reply_to(message, e)
Учтите, что пользователь мог отправить не альбом из фотографий, а несколько файлов (фотографии без сжатия). На вашем месте я бы добавил обработку такого случая. Делается просто:
@bot.message_handler(content_types=['document'])
А дальше все то же самое