Ошибка при попытке отправить фотографию Aiogram Telegram
Я не могу понять, каким образом отправить фото, которое отправил пользователь. Легче самому посмотреть на код:
async def set_picture(call: types.CallbackQuery, state: FSMContext):
await bot.delete_message(chat_id=call.message.chat.id, message_id=call.message.message_id)
bot_message = await call.message.answer("?Отправьте обложку книги:")
await state.update_data(bot_message_id=bot_message.message_id)
await state.set_state(ReadingStates.set_picture)
@dp.message(ReadingStates.set_picture)
async def set_picture(message: types.Message, state: FSMContext):
photo_file_id = message.photo[-1].file_id
file = await bot.get_file(photo_file_id)
file_path = file.file_path
print(file_path)
await state.update_data(picture=file_path)
data = await state.get_data()
bot_message_id = data.get("bot_message_id")
await bot.delete_message(chat_id=message.chat.id, message_id=bot_message_id)
await message.answer(f"✅Обложка установлена!")
await state.set_state(ReadingStates.starting)
message_text, builder, is_picture = await get_menu(state)
if is_picture:
picture = data.get("picture")
await bot.send_photo(photo=picture, caption=message_text, chat_id=message.chat.id, reply_markup=builder.as_markup())
elif is_picture == False:
await message.reply(message_text, reply_markup=builder.as_markup(), parse_mode=ParseMode.HTML)
Я уже пробовал и через types.InputFile()
, и через open()
. Вот похожая статья, однако при попытке использовать open()
я получал ошибку:
FileNotFoundError: [Errno 2] No such file or directory: 'photos/file_0.jpg'