вот часть кода на aiogram 3.0, которая отвечает за сохранение изображения и пересыл рандомного изображения пользователю:
@dp.message(Command('kitty'))
async def start(message: types.Message):
await message.answer('отправь картинку котика:')
@dp.message()
async def get_img(message: types.document):
file_info = await bot.get_file(message.document.file_id)
downloaded_file = await bot.download_file(file_info.file_path)
file_name = 'img_' + str(random.randint(1, 100)) + '.jpg'
file_path = os.path.join(folder_path, file_name)
with open(file_path, 'wb') as file:
file.write(downloaded_file.getvalue())
await message.answer('котик успешно сохранен!')
@dp.message(Command('photo'))
async def photo(message: types.Message):
image_files = os.listdir(folder_path)
random_image = random.choice(image_files)
with open(os.path.join(folder_path, random_image), 'rb') as photo:
await message.reply_photo(photo)
первая функция get_img работает корректно и сохраняет изображение, но когда я вызываю вторую, то появляется ошибка:
File "C:\Users\motor\OneDrive\Рабочий стол\pythonProject1\асинхронный тг-бот.py", line 28, in get_img
file_info = await bot.get_file(message.document.file_id)
AttributeError: 'NoneType' object has no attribute 'file_id'
причем ошибка в функции get_img, которая работает корректно...
так как отправить рандомную картинку пользователю?