Добавление фото в базу данных SQLite, телеграмм бота, и отправка этого фото через метод SELECT

Ребята, помогите решить задачу. Нужно сделать так, чтобы бот мог сохранять фото в базу данных через BLOB. Если что, я знаю, что можно загрузить file_unique_id в таблицу, но меня такой вариант не устраивает, так как при удалении сообщения этот file_unique_id будет недействителен. Код ниже.

import asyncio
import sqlite3 as sq
from aiogram import Bot, Dispatcher, types, F
from aiogram.filters import Command
from testBot.token_bot import token

bot = Bot(token=token)
dp = Dispatcher()

@dp.message(Command('start'))
async def bot_start(message: types.Message):
     await message.answer(text='Привет отправь мне фото.')

@dp.message(F.photo)
async def bot_photo(message: types.Message):
     with sq.connect('sqlite_bot') as sq_bot:
         data_photo = message.photo[-1]
         cur = sq_bot.cursor()
         cur.execute("""CREATE TABLE IF NOT EXISTS user(photo BLOB, PRIMARY KEY(photo))""")
         cur.execute("""INSERT OR IGNORE INTO user(photo) VALUES(?)""", (data_photo.file_unique_id,))

  async def main():
      await dp.start_polling(bot)
 asyncio.run(main())

Кстати, и ещё не могу понять как сделать так, что бы бот отправлял file_unique_id из базы данных обратно пользователю. Вот код.

    import asyncio
    import sqlite3 as sq
    from aiogram import Bot, Dispatcher, types, F
    from aiogram.filters import Command
    from testBot.token_bot import token

    bot = Bot(token=token)
    dp = Dispatcher()

    @dp.message(Command('start'))
    async def bot_start(message: types.Message):
         await message.answer(text='Привет отправь мне фото.')

    @dp.message(F.photo)
    async def bot_photo(message: types.Message):
         with sq.connect('sqlite_bot') as sq_bot:
              data_photo = message.photo[-1]
              cur = sq_bot.cursor()
              cur.execute("""CREATE TABLE IF NOT EXISTS user(photo BLOB, PRIMARY KEY(photo))""")
              cur.execute("""INSERT OR IGNORE INTO user(photo) VALUES(?)""",(data_photo.file_unique_id,))
    
    @dp.message(Command('photo'))
    async def send_photo_bot(message: types.Message):
          with sq.connect('sqlite_bot') as sq_bot:
               cur = sq_bot.cursor()
               photo = cur.execute("""SELECT * FROM user WHERE photo = ? """, (photo,)).fetchone()
               await message.answer_photo(photo=photo)

     async def main():
         await dp.start_polling(bot)
     asyncio.run(main())

Ответы (0 шт):