import telebot
from telebot.async_telebot import AsyncTeleBot

bot = AsyncTeleBot("TOKEN")


@bot.message_handler(content_types=["photo"])
async def new_message(message: telebot.types.Message):
    result_message = await bot.send_message(
        message.chat.id,
        "<i>Downloading your photo...</i>",
        parse_mode="HTML",
        disable_web_page_preview=True,
    )
    file_path = await bot.get_file(message.photo[-1].file_id)
    downloaded_file = await bot.download_file(file_path.file_path)
    with open("file.jpg", "wb") as new_file:
        new_file.write(downloaded_file)
    await bot.edit_message_text(
        chat_id=message.chat.id,
        message_id=result_message.id,
        text="<i>Done!</i>",
        parse_mode="HTML",
    )


import asyncio

asyncio.run(bot.polling())
