Есть такая штука при отправке фото - сжатие. Так вот, если пользователь перед отправкой выбрал сжатие, то это будет фотография (photo), а если сжатие не выбрал то это уже документ (document)
@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)
В начале код, в handler заменить photo на document или просто добавить через запятую.
Это реализация кода на PyTelegramBotAPI, переделать на aiogram - не трудно, так как все методы описаны в официальном разделе телеграмм API (прилагаю ссылку ниже).
Документация:
https://core.telegram.org/bots/api