Сообщение с фото имеет следующую структуру:
{
"message_id": 312,
"from": {
"id": 161269475,
"is_bot": false,
"first_name": "Максим",
"last_name": "Кравчук",
"username": "maxkra1985",
"language_code": "ru"
},
"chat": {
"id": 161269475,
"first_name": "Максим",
"last_name": "Кравчук",
"username": "maxkra1985",
"type": "private"
},
"date": 1652697021,
"photo": [
{
"file_id": "AgACAgIAAxkBAAIBOGKCJ71RLTUVH5ZbRrK9Ej-7q_UCAAKevDEbhfARSHumNOs9iBaqAQADAgADcwADJAQ",
"file_unique_id": "AQADnrwxG4XwEUh4",
"file_size": 1388,
"width": 90,
"height": 75
},
{
"file_id": "AgACAgIAAxkBAAIBOGKCJ71RLTUVH5ZbRrK9Ej-7q_UCAAKevDEbhfARSHumNOs9iBaqAQADAgADeAADJAQ",
"file_unique_id": "AQADnrwxG4XwEUh9",
"file_size": 23968,
"width": 359,
"height": 300
},
{
"file_id": "AgACAgIAAxkBAAIBOGKCJ71RLTUVH5ZbRrK9Ej-7q_UCAAKevDEbhfARSHumNOs9iBaqAQADAgADbQADJAQ",
"file_unique_id": "AQADnrwxG4XwEUhy",
"file_size": 25171,
"width": 320,
"height": 267
}
]
}
Таким образом, можно использовать file_unique_id как уникальный идентификатор (правда не числовой) для сохранения файла:
photoSize: PhotoSize = message.photo[-1]
file_info = await bot.get_file(photoSize.file_id)
fileExt = file_info.file_path.split(".")[-1]
await message.photo[-1].download(f"{photoSize.file_unique_id}.{fileExt}")