Бот который формирует заявку, задает вопросы и через State() сохраняет ответы пользователя, позже отправляет их в закрытый тг канал.
Последним таким вопросом должно служить получение фото от пользователя (фото поломки кузовного элемента). Нужно получить фото (несколько) от пользователя, я так полагаю, вытащить id фото, и добавить их в итоговое сообщение которое отправляется в канал. Может у кого то есть решение? Начитался про магические фильтры, сохранение ид и отправку, так же медиагруппы, не понимаю что именно нужно здесь использовать. И некоторые из решений, вроде как, позволяют переслать только одно фото, нужно несколько. Aiogram 3.17
Части кода на данный момент:
@router.callback_query(F.data == 'body')
async def cto(callback: callback_query, state: FSMContext):
await state.set_state(form_body.brand_body)
await callback.message.answer(f"Здравствуйте,{callback.from_user.first_name}, подскажите марку Вашего автомобиля?")
@router.message(form_body.brand_body)
async def brand(message: Message, state: FSMContext):
await state.update_data(brand_body=message.text)
await state.set_state(form_body.model_body)
await message.answer('Введите модель:')
и т.д. другие вопросы, в конце отправляем
final_message =(f'Новая заявка на кузовной ремонт от пользователя @{message.from_user.username} \nМарка авто: {brand_body} \nМодель авто: {model_body} \nГод выпуска авто: {year_body} \nПричина обращения: {problem_body}')
try:
channel_id = ""
await bot.send_message(chat_id=channel_id, text=final_message, disable_web_page_preview=True)
await message.answer(f'Ваша заявка на кузовной ремонт: \nМарка авто: {brand_body} \nМодель авто: {model_body} \nГод выпуска авто: {year_body} \nИПричина обращения: {problem_body} \n \nЗаявка успешно принята!')
except Exception:
await message.answer('Возникла техническая ошибка, заявка не была отправлена, попробуйте позже')