Как сохранить все изображения из сообщения в телеграмме в боте
Скачиваю изоражение, присланное боту вот так:
@bot.message_handler(content_types=['photo'])
def message_post(message):
if message.chat.type == 'private':
f_id = message.photo[-1].file_id
file_info = bot.get_file(f_id)
down_file = bot.download_file(file_info.file_path)
with open('img.jpg', 'wb') as file:
file.write(down_file)
Но что делать, если пользователь скинет в одном сообщении 2 изображения? Когда я скидываю 2 изображение сохраняется только первое.
Ответы (1 шт):
Автор решения: Azart2288
→ Ссылка
Потому что он перезаписывает каждый раз файл "img.jpg" , чтобы сохранить больше файлов, рекомендую использовать uuid , и каждый файл сохранять со случайным именем. Мой вариант:
import uuid
@bot.message_handler(content_types = ['photo'])
def message_post(message): #saving photo
if message.chat.type == 'private':
f_id = message.photo[-1].file_id
file_info = bot.get_file(f_id)
down_file = bot.download_file(file_info.file_path)
name = str(uuid.uuid4())
with open(name + '.jpg', 'wb') as file:
file.write(down_file)
bot.send_message(message.chat.id,'Сохранено')